fix: improve Windows UX and stabilize chat/session behavior across runtimes (#693)
* fix: preserve unsent prompt when adding editor context in VS Code * fix: append Add to chat selections as markdown blocks with stable spacing Convert selected assistant content to markdown before appending Wrap each Add to chat selection in an `md` fenced block Preserve multiline composer formatting across repeated appends * fix: normalize persisted Windows paths to prevent identity mismatches * fix: hide Windows subprocess console popups across server tasks Hide OpenCode startup and shell command child windows in the web server Apply windowsHide to cloudflared and skills-catalog git subprocesses Cover remaining git service exec paths that could surface console windows * fix: restore chat auto re-pin when reaching bottom Re-pin now triggers when scrolling back into the bottom zone, not only via the button. Upward user scroll intent still unpins immediately and is not overridden by re-pin. Unified bottom/re-pin threshold logic to reduce sensitivity mismatches. * fix: restore chat scroll release on mobile during streaming Restores pinned-scroll release on touch scroll up so mobile users can leave auto-follow while streaming. Improves re-pin behavior near bottom to avoid sticky or inconsistent pin states. Includes related chat UI and dependency updates in the same change set. * fix: hide daemon startup probe consoles on Windows * fix: prevent pinned scroll tug-of-war during streaming * fix: prefer git.exe to avoid Windows diff popup flashes * fix: prefer git.exe discovery in Windows git flows * fix: avoid where probes in Windows git resolution * fix: avoid update-check subprocess flashes on Windows * fix: normalize read file path labels * feat: add OpenChamber defaults and improve theme ports Add new OpenChamber light and dark themes Regenerate imported themes with stronger surface mapping Set OpenChamber themes as the default top options * fix: stabilize chat pin and unpin behavior during streaming Restores reliable unpin on upward wheel and touch gestures while auto-follow is active. Prevents immediate re-pin while the user is actively scrolling upward near the bottom. Keeps smooth follow-to-bottom behavior while reducing scroll tug-of-war. * fix: suppress Windows command popups in VSCode runtime processes Hide spawned git and server process windows in VS Code runtime Extend hidden-window handling to server port cleanup and reveal commands Keep behavior unchanged on non-Windows platforms
This commit is contained in:
committed by
GitHub
parent
a07c068b66
commit
3123de5f43
@@ -59,6 +59,24 @@ const MAX_VISIBLE_TEXTAREA_LINES = 8;
|
||||
const EMPTY_QUEUE: QueuedMessage[] = [];
|
||||
const FILE_MENTION_TOKEN = /^@[^\s]+$/;
|
||||
|
||||
const appendWithLineBreaks = (base: string, next: string): string => {
|
||||
const separator = !base
|
||||
? ''
|
||||
: base.endsWith('\n\n')
|
||||
? ''
|
||||
: base.endsWith('\n')
|
||||
? '\n'
|
||||
: '\n\n';
|
||||
|
||||
const nextWithTrailingBreaks = next.endsWith('\n\n')
|
||||
? next
|
||||
: next.endsWith('\n')
|
||||
? `${next}\n`
|
||||
: `${next}\n\n`;
|
||||
|
||||
return `${base}${separator}${nextWithTrailingBreaks}`;
|
||||
};
|
||||
|
||||
interface ChatInputProps {
|
||||
onOpenSettings?: () => void;
|
||||
scrollToBottom?: (options?: { instant?: boolean; force?: boolean }) => void;
|
||||
@@ -589,9 +607,9 @@ export const ChatInput: React.FC<ChatInputProps> = ({ onOpenSettings, scrollToBo
|
||||
if (pending?.text) {
|
||||
if (pending.mode === 'append') {
|
||||
setMessage((prev) => {
|
||||
if (!pending.text) return prev;
|
||||
if (!prev.trim()) return pending.text;
|
||||
return `${prev}\n\n${pending.text}`;
|
||||
const next = pending.text;
|
||||
if (!next.trim()) return prev;
|
||||
return appendWithLineBreaks(prev, next);
|
||||
});
|
||||
} else {
|
||||
setMessage(pending.text);
|
||||
|
||||
@@ -1097,14 +1097,25 @@ const MessageList = React.forwardRef<MessageListHandle, MessageListProps>(({
|
||||
useFlushSync: false,
|
||||
});
|
||||
|
||||
const virtualRows = shouldVirtualize ? virtualizer.getVirtualItems() : [];
|
||||
const isVirtualRowInRange = React.useCallback(
|
||||
(row: VirtualItem) => row.index >= 0 && row.index < stagedEntries.length,
|
||||
[stagedEntries.length],
|
||||
);
|
||||
|
||||
const virtualRows = shouldVirtualize ? virtualizer.getVirtualItems().filter(isVirtualRowInRange) : [];
|
||||
const lastNonEmptyVirtualRowsRef = React.useRef<VirtualItem[]>([]);
|
||||
if (shouldVirtualize && virtualRows.length > 0) {
|
||||
lastNonEmptyVirtualRowsRef.current = virtualRows;
|
||||
} else if (!shouldVirtualize && lastNonEmptyVirtualRowsRef.current.length > 0) {
|
||||
lastNonEmptyVirtualRowsRef.current = [];
|
||||
}
|
||||
|
||||
const fallbackVirtualRows = shouldVirtualize
|
||||
? lastNonEmptyVirtualRowsRef.current.filter(isVirtualRowInRange)
|
||||
: [];
|
||||
|
||||
const effectiveVirtualRows = shouldVirtualize
|
||||
? (virtualRows.length > 0 ? virtualRows : lastNonEmptyVirtualRowsRef.current)
|
||||
? (virtualRows.length > 0 ? virtualRows : fallbackVirtualRows)
|
||||
: [];
|
||||
|
||||
const renderVirtualized = shouldVirtualize && effectiveVirtualRows.length > 0;
|
||||
|
||||
@@ -16,17 +16,147 @@ interface MenuPosition {
|
||||
show: boolean;
|
||||
}
|
||||
|
||||
interface SelectionPayload {
|
||||
plainText: string;
|
||||
markdownText: string;
|
||||
rect: DOMRect;
|
||||
}
|
||||
|
||||
const DESKTOP_MENU_SIDE_MARGIN_PX = 8;
|
||||
const DESKTOP_MENU_FALLBACK_WIDTH_PX = 280;
|
||||
|
||||
const normalizeLineBreaks = (value: string): string => value.replace(/\r\n?/g, '\n');
|
||||
|
||||
const trimSelectionValue = (value: string): string => normalizeLineBreaks(value).trim();
|
||||
|
||||
const textToMarkdownInline = (value: string): string => value.replace(/\s+/g, ' ').trim();
|
||||
|
||||
const renderInlineMarkdownNode = (node: Node): string => {
|
||||
if (node.nodeType === Node.TEXT_NODE) {
|
||||
return textToMarkdownInline(node.textContent || '');
|
||||
}
|
||||
|
||||
if (node.nodeType !== Node.ELEMENT_NODE) {
|
||||
return '';
|
||||
}
|
||||
|
||||
const element = node as HTMLElement;
|
||||
const tag = element.tagName.toLowerCase();
|
||||
const childText = Array.from(element.childNodes)
|
||||
.map((child) => renderInlineMarkdownNode(child))
|
||||
.join('')
|
||||
.replace(/\s+/g, ' ')
|
||||
.trim();
|
||||
|
||||
if (!childText && tag !== 'br') {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (tag === 'br') return '\n';
|
||||
if (tag === 'strong' || tag === 'b') return `**${childText}**`;
|
||||
if (tag === 'em' || tag === 'i') return `*${childText}*`;
|
||||
if (tag === 'code') return `\`${childText.replace(/`/g, '\\`')}\``;
|
||||
if (tag === 'a') {
|
||||
const href = element.getAttribute('href');
|
||||
return href ? `[${childText}](${href})` : childText;
|
||||
}
|
||||
|
||||
return childText;
|
||||
};
|
||||
|
||||
const renderListMarkdown = (list: HTMLElement, ordered: boolean): string => {
|
||||
const items = Array.from(list.children).filter(
|
||||
(child): child is HTMLElement => child instanceof HTMLElement && child.tagName.toLowerCase() === 'li'
|
||||
);
|
||||
|
||||
return items
|
||||
.map((item, index) => {
|
||||
const prefix = ordered ? `${index + 1}. ` : '- ';
|
||||
const body = Array.from(item.childNodes)
|
||||
.map((child) => renderInlineMarkdownNode(child))
|
||||
.join('')
|
||||
.replace(/\s+/g, ' ')
|
||||
.trim();
|
||||
return body ? `${prefix}${body}` : '';
|
||||
})
|
||||
.filter(Boolean)
|
||||
.join('\n');
|
||||
};
|
||||
|
||||
const renderBlockMarkdownNode = (node: Node): string => {
|
||||
if (node.nodeType === Node.TEXT_NODE) {
|
||||
return trimSelectionValue(node.textContent || '');
|
||||
}
|
||||
|
||||
if (node.nodeType !== Node.ELEMENT_NODE) {
|
||||
return '';
|
||||
}
|
||||
|
||||
const element = node as HTMLElement;
|
||||
const tag = element.tagName.toLowerCase();
|
||||
|
||||
if (tag === 'pre') {
|
||||
const codeElement = element.querySelector('code');
|
||||
const languageClass = codeElement?.className || '';
|
||||
const language = (languageClass.match(/language-([\w-]+)/)?.[1] || '').trim();
|
||||
const code = normalizeLineBreaks(codeElement?.textContent || element.textContent || '').replace(/\n$/, '');
|
||||
return `\`\`\`${language}\n${code}\n\`\`\``;
|
||||
}
|
||||
|
||||
if (tag === 'ul') return renderListMarkdown(element, false);
|
||||
if (tag === 'ol') return renderListMarkdown(element, true);
|
||||
|
||||
if (tag === 'blockquote') {
|
||||
const content = trimSelectionValue(
|
||||
Array.from(element.childNodes).map((child) => renderBlockMarkdownNode(child)).join('\n')
|
||||
);
|
||||
return content
|
||||
.split('\n')
|
||||
.filter((line) => line.length > 0)
|
||||
.map((line) => `> ${line}`)
|
||||
.join('\n');
|
||||
}
|
||||
|
||||
if (/^h[1-6]$/.test(tag)) {
|
||||
const level = Number.parseInt(tag[1], 10);
|
||||
const text = trimSelectionValue(Array.from(element.childNodes).map((child) => renderInlineMarkdownNode(child)).join(''));
|
||||
return text ? `${'#'.repeat(level)} ${text}` : '';
|
||||
}
|
||||
|
||||
if (tag === 'p' || tag === 'div' || tag === 'li') {
|
||||
return trimSelectionValue(Array.from(element.childNodes).map((child) => renderInlineMarkdownNode(child)).join(''));
|
||||
}
|
||||
|
||||
const blockChildren = Array.from(element.childNodes)
|
||||
.map((child) => renderBlockMarkdownNode(child))
|
||||
.filter((child) => child.length > 0);
|
||||
if (blockChildren.length > 0) {
|
||||
return blockChildren.join('\n\n');
|
||||
}
|
||||
|
||||
return trimSelectionValue(Array.from(element.childNodes).map((child) => renderInlineMarkdownNode(child)).join(''));
|
||||
};
|
||||
|
||||
const rangeToMarkdown = (range: Range, plainText: string): string => {
|
||||
const fragment = range.cloneContents();
|
||||
const markdown = Array.from(fragment.childNodes)
|
||||
.map((node) => renderBlockMarkdownNode(node))
|
||||
.filter((value) => value.length > 0)
|
||||
.join('\n\n')
|
||||
.trim();
|
||||
|
||||
return markdown || trimSelectionValue(plainText);
|
||||
};
|
||||
|
||||
export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerRef }) => {
|
||||
const [position, setPosition] = React.useState<MenuPosition>({ x: 0, y: 0, show: false });
|
||||
const [selectedText, setSelectedText] = React.useState('');
|
||||
const [selectedTextMarkdown, setSelectedTextMarkdown] = React.useState('');
|
||||
const [isDragging, setIsDragging] = React.useState(false);
|
||||
const [isOpening, setIsOpening] = React.useState(false);
|
||||
const menuRef = React.useRef<HTMLDivElement>(null);
|
||||
const menuWidthRef = React.useRef(DESKTOP_MENU_FALLBACK_WIDTH_PX);
|
||||
const pendingSelectionRef = React.useRef<{ text: string; rect: DOMRect } | null>(null);
|
||||
const pendingSelectionRef = React.useRef<SelectionPayload | null>(null);
|
||||
const openRafRef = React.useRef<number | null>(null);
|
||||
const isMenuVisibleRef = React.useRef(false);
|
||||
const createSession = useSessionStore((state) => state.createSession);
|
||||
@@ -61,6 +191,7 @@ export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerR
|
||||
|
||||
setPosition((prev) => ({ ...prev, show: false }));
|
||||
setSelectedText('');
|
||||
setSelectedTextMarkdown('');
|
||||
isMenuVisibleRef.current = false;
|
||||
}, []);
|
||||
|
||||
@@ -85,7 +216,7 @@ export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerR
|
||||
const showMenu = React.useCallback(() => {
|
||||
if (!pendingSelectionRef.current) return;
|
||||
|
||||
const { text, rect } = pendingSelectionRef.current;
|
||||
const { plainText, markdownText, rect } = pendingSelectionRef.current;
|
||||
const shouldAnimateIn = !position.show;
|
||||
|
||||
// Position menu above the selection
|
||||
@@ -94,7 +225,8 @@ export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerR
|
||||
: getDesktopClampedX(rect.left + rect.width / 2);
|
||||
const menuY = rect.top - 10;
|
||||
|
||||
setSelectedText(text);
|
||||
setSelectedText(plainText);
|
||||
setSelectedTextMarkdown(markdownText);
|
||||
setPosition({
|
||||
x: menuX,
|
||||
y: menuY,
|
||||
@@ -160,7 +292,7 @@ export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerR
|
||||
return;
|
||||
}
|
||||
|
||||
const text = selection.toString().trim();
|
||||
const text = trimSelectionValue(selection.toString());
|
||||
|
||||
// Only show if we have text and the selection is within our container
|
||||
if (!text) {
|
||||
@@ -184,7 +316,11 @@ export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerR
|
||||
const rect = range.getBoundingClientRect();
|
||||
|
||||
// Store the selection but don't show menu yet if dragging
|
||||
pendingSelectionRef.current = { text, rect };
|
||||
pendingSelectionRef.current = {
|
||||
plainText: text,
|
||||
markdownText: rangeToMarkdown(range, text),
|
||||
rect,
|
||||
};
|
||||
|
||||
// Only show menu if we're not currently dragging
|
||||
if (!isDragging) {
|
||||
@@ -247,16 +383,16 @@ export const TextSelectionMenu: React.FC<TextSelectionMenuProps> = ({ containerR
|
||||
}, [containerRef, handleSelectionChange, hideMenu, showMenu]);
|
||||
|
||||
const handleAddToChat = React.useCallback(() => {
|
||||
if (!selectedText) return;
|
||||
if (!selectedTextMarkdown) return;
|
||||
|
||||
const fenced = `\`\`\`md\n${selectedText}\n\`\`\``;
|
||||
setPendingInputText(fenced, 'append');
|
||||
const markdownBlock = `\`\`\`md\n${selectedTextMarkdown}\n\`\`\``;
|
||||
setPendingInputText(markdownBlock, 'append');
|
||||
|
||||
hideMenu();
|
||||
|
||||
// Clear selection
|
||||
window.getSelection()?.removeAllRanges();
|
||||
}, [selectedText, setPendingInputText, hideMenu]);
|
||||
}, [selectedTextMarkdown, setPendingInputText, hideMenu]);
|
||||
|
||||
const handleCreateNewSession = React.useCallback(async () => {
|
||||
if (!selectedText) return;
|
||||
|
||||
@@ -206,7 +206,7 @@ const normalizePathValue = (value: string): string => {
|
||||
if (!trimmed) {
|
||||
return '';
|
||||
}
|
||||
return trimmed.replace(/\\/g, '/');
|
||||
return trimmed.replace(/\\/g, '/').replace(/\/{2,}/g, '/');
|
||||
};
|
||||
|
||||
const trimTrailingSlashes = (value: string): string => {
|
||||
@@ -240,6 +240,45 @@ const getRelativePathFromDirectory = (filePath: string, currentDirectory: string
|
||||
return normalizedPath;
|
||||
};
|
||||
|
||||
const renderReadFilePath = (displayPath: string) => {
|
||||
const lastSlash = displayPath.lastIndexOf('/');
|
||||
|
||||
if (lastSlash === -1) {
|
||||
return (
|
||||
<span
|
||||
className="min-w-0 flex-1 truncate whitespace-nowrap typography-meta leading-5"
|
||||
style={{ color: 'var(--tools-title)' }}
|
||||
title={displayPath}
|
||||
>
|
||||
{displayPath}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
const dir = displayPath.slice(0, lastSlash);
|
||||
const name = displayPath.slice(lastSlash + 1);
|
||||
const hasAbsoluteRoot = dir.startsWith('/');
|
||||
const displayDir = hasAbsoluteRoot ? dir.slice(1) : dir;
|
||||
|
||||
return (
|
||||
<span className="min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden typography-meta leading-5" title={displayPath}>
|
||||
{hasAbsoluteRoot ? <span className="flex-shrink-0" style={{ color: 'var(--tools-description)' }}>/</span> : null}
|
||||
<span
|
||||
className="min-w-0 shrink truncate whitespace-nowrap"
|
||||
style={{
|
||||
color: 'var(--tools-description)',
|
||||
direction: 'rtl',
|
||||
textAlign: 'left',
|
||||
}}
|
||||
>
|
||||
{displayDir}
|
||||
</span>
|
||||
<span className="flex-shrink-0" style={{ color: 'var(--tools-description)' }}>/</span>
|
||||
<span className="flex-shrink-0" style={{ color: 'var(--tools-title)' }}>{name}</span>
|
||||
</span>
|
||||
);
|
||||
};
|
||||
|
||||
const resolveAbsolutePath = (currentDirectory: string, filePath: string): string => {
|
||||
const normalizedPath = normalizePathValue(filePath);
|
||||
if (!normalizedPath) {
|
||||
@@ -502,17 +541,7 @@ export const StaticToolRow: React.FC<{
|
||||
title={entry.offset ? `${entry.displayPath}:${entry.offset}` : entry.displayPath}
|
||||
>
|
||||
{showToolFileIcons ? <FileTypeIcon filePath={entry.path} className="h-3.5 w-3.5" /> : null}
|
||||
<span
|
||||
className="min-w-0 flex-1 truncate whitespace-nowrap typography-meta leading-5"
|
||||
style={{
|
||||
color: 'var(--tools-description)',
|
||||
direction: 'rtl',
|
||||
textAlign: 'left',
|
||||
}}
|
||||
title={entry.displayPath}
|
||||
>
|
||||
{entry.displayPath}
|
||||
</span>
|
||||
{renderReadFilePath(entry.displayPath)}
|
||||
</button>
|
||||
))
|
||||
: null}
|
||||
@@ -520,7 +549,7 @@ export const StaticToolRow: React.FC<{
|
||||
? descriptions.map((desc, index) => (
|
||||
<span key={`${desc}-${index}`} className="inline-flex min-w-0 flex-1">
|
||||
<Text
|
||||
variant={animateTailText ? 'generate-effect' : undefined}
|
||||
variant={animateTailText ? 'generate-effect' : 'static'}
|
||||
className="min-w-0 flex-1 truncate whitespace-nowrap typography-meta leading-5"
|
||||
style={{ color: 'var(--tools-description)' }}
|
||||
title={desc}
|
||||
@@ -550,7 +579,7 @@ export const StaticToolRow: React.FC<{
|
||||
: null}
|
||||
{!isReadGroup && !isSearchGroup && !isFetchGroup && descriptions.length > 0 ? (
|
||||
<Text
|
||||
variant={animateTailText ? 'generate-effect' : undefined}
|
||||
variant={animateTailText ? 'generate-effect' : 'static'}
|
||||
className="min-w-0 flex-1 truncate whitespace-nowrap typography-meta leading-5"
|
||||
style={{ color: 'var(--tools-description)' }}
|
||||
>
|
||||
|
||||
@@ -103,7 +103,7 @@ const getMultiFileDescription = (
|
||||
<span key={entry.path} className="inline-flex min-w-0 max-w-full items-center gap-1 typography-meta leading-5" style={{ color: 'var(--tools-description)' }}>
|
||||
{showFileIcons ? <FileTypeIcon filePath={entry.path} className="h-3.5 w-3.5" /> : null}
|
||||
<Text
|
||||
variant={animate ? 'generate-effect' : undefined}
|
||||
variant={animate ? 'generate-effect' : 'static'}
|
||||
className="min-w-0 max-w-full truncate typography-meta leading-5"
|
||||
style={{ color: 'var(--tools-description)' }}
|
||||
title={entry.path}
|
||||
@@ -302,14 +302,36 @@ const getPrimaryDiffFromMetadata = (
|
||||
return undefined;
|
||||
};
|
||||
|
||||
const getRelativePath = (absolutePath: string, currentDirectory: string): string => {
|
||||
if (absolutePath.startsWith(currentDirectory)) {
|
||||
const relativePath = absolutePath.substring(currentDirectory.length);
|
||||
const normalizeDisplayPath = (value: string): string => {
|
||||
const trimmed = value.trim().replace(/\\/g, '/').replace(/\/{2,}/g, '/');
|
||||
if (!trimmed || trimmed === '/') {
|
||||
return trimmed;
|
||||
}
|
||||
return trimmed.replace(/\/+$/, '');
|
||||
};
|
||||
|
||||
return relativePath.startsWith('/') ? relativePath.substring(1) : relativePath;
|
||||
const getRelativePath = (absolutePath: string, currentDirectory: string): string => {
|
||||
const normalizedAbsolutePath = normalizeDisplayPath(absolutePath);
|
||||
const normalizedCurrentDirectory = normalizeDisplayPath(currentDirectory);
|
||||
|
||||
if (!normalizedAbsolutePath) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return absolutePath;
|
||||
if (!normalizedCurrentDirectory) {
|
||||
return normalizedAbsolutePath;
|
||||
}
|
||||
|
||||
if (normalizedAbsolutePath === normalizedCurrentDirectory) {
|
||||
return '.';
|
||||
}
|
||||
|
||||
const prefix = `${normalizedCurrentDirectory}/`;
|
||||
if (normalizedAbsolutePath.startsWith(prefix)) {
|
||||
return normalizedAbsolutePath.slice(prefix.length);
|
||||
}
|
||||
|
||||
return normalizedAbsolutePath;
|
||||
};
|
||||
|
||||
const usePierreThemeConfig = () => {
|
||||
@@ -390,6 +412,13 @@ const getToolDescriptionPath = (part: ToolPartType, state: ToolStateUnion, curre
|
||||
}
|
||||
}
|
||||
|
||||
if (part.tool === 'read' && input) {
|
||||
const filePath = input?.filePath || input?.file_path || input?.path || metadata?.filePath || metadata?.file_path || metadata?.path;
|
||||
if (typeof filePath === 'string') {
|
||||
return getRelativePath(filePath, currentDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
if (['write', 'create', 'file_write'].includes(part.tool) && input) {
|
||||
const filePath = input?.filePath || input?.file_path || input?.path;
|
||||
if (typeof filePath === 'string') {
|
||||
@@ -853,7 +882,7 @@ const TaskToolSummary: React.FC<{
|
||||
</span>
|
||||
) : (
|
||||
<Text
|
||||
variant={animateTailText ? 'generate-effect' : undefined}
|
||||
variant={animateTailText ? 'generate-effect' : 'static'}
|
||||
className={cn(
|
||||
'typography-meta flex-1 min-w-0 text-muted-foreground/70',
|
||||
isMobile ? 'whitespace-normal break-words' : 'truncate'
|
||||
@@ -964,11 +993,14 @@ const renderPathLikeGitChanges = (path: string, grow = true) => {
|
||||
|
||||
const dir = path.slice(0, lastSlash);
|
||||
const name = path.slice(lastSlash + 1);
|
||||
const hasAbsoluteRoot = dir.startsWith('/');
|
||||
const displayDir = hasAbsoluteRoot ? dir.slice(1) : dir;
|
||||
|
||||
return (
|
||||
<span className={cn('min-w-0 flex items-baseline overflow-hidden typography-ui-label', grow && 'flex-1')} title={path}>
|
||||
{hasAbsoluteRoot ? <span className="flex-shrink-0 text-muted-foreground">/</span> : null}
|
||||
<span className="min-w-0 truncate text-muted-foreground" style={{ direction: 'rtl', textAlign: 'left' }}>
|
||||
{dir}
|
||||
{displayDir}
|
||||
</span>
|
||||
<span className="flex-shrink-0">
|
||||
<span className="text-muted-foreground">/</span>
|
||||
@@ -998,20 +1030,23 @@ const renderAnimatedPathWithIcon = (path: string, _animate = true, grow = true,
|
||||
|
||||
const dir = path.slice(0, lastSlash);
|
||||
const name = path.slice(lastSlash + 1);
|
||||
const hasAbsoluteRoot = dir.startsWith('/');
|
||||
const displayDir = hasAbsoluteRoot ? dir.slice(1) : dir;
|
||||
|
||||
return (
|
||||
<span className={cn('min-w-0 inline-flex items-center gap-1 overflow-hidden', grow && 'flex-1')} title={path}>
|
||||
{showFileIcons ? <FileTypeIcon filePath={path} className="h-3.5 w-3.5 flex-shrink-0" /> : null}
|
||||
<span className={cn('min-w-0 inline-flex items-baseline overflow-hidden typography-meta', grow && 'flex-1')}>
|
||||
<span className={cn('min-w-0 inline-flex max-w-full items-baseline overflow-hidden typography-meta', grow && 'flex-1')}>
|
||||
{hasAbsoluteRoot ? <span className="flex-shrink-0" style={{ color: 'var(--tools-description)' }}>/</span> : null}
|
||||
<span
|
||||
className="min-w-0 flex-1 truncate whitespace-nowrap"
|
||||
className="min-w-0 shrink truncate whitespace-nowrap"
|
||||
style={{
|
||||
color: 'var(--tools-description)',
|
||||
direction: 'rtl',
|
||||
textAlign: 'left',
|
||||
}}
|
||||
>
|
||||
{dir}
|
||||
{displayDir}
|
||||
</span>
|
||||
<span className="flex-shrink-0" style={{ color: 'var(--tools-description)' }}>/</span>
|
||||
<span className="flex-shrink-0" style={{ color: 'var(--tools-title)' }}>
|
||||
@@ -1933,7 +1968,7 @@ const ToolPart: React.FC<ToolPartProps> = ({
|
||||
renderAnimatedPathWithIcon(descriptionPath, animateTailText, false, showToolFileIcons)
|
||||
) : (
|
||||
<Text
|
||||
variant={animateTailText ? 'generate-effect' : undefined}
|
||||
variant={animateTailText ? 'generate-effect' : 'static'}
|
||||
className="min-w-0 truncate typography-meta"
|
||||
style={{ color: 'var(--tools-description)' }}
|
||||
title={description}
|
||||
|
||||
@@ -127,6 +127,12 @@ export function SidebarProjectsList(props: Props): React.ReactNode {
|
||||
const isRepo = props.projectRepoStatus.get(projectKey);
|
||||
const isHovered = props.hoveredProjectId === projectKey;
|
||||
const orderedGroups = props.getOrderedGroups(projectKey, section.groups);
|
||||
const sortableEntries = orderedGroups.map((group) => ({
|
||||
sortableId: `${projectKey}:${group.id}`,
|
||||
groupId: group.id,
|
||||
}));
|
||||
const sortableGroupIds = sortableEntries.map((entry) => entry.sortableId);
|
||||
const sortableIdToGroupId = new Map(sortableEntries.map((entry) => [entry.sortableId, entry.groupId]));
|
||||
|
||||
return (
|
||||
<SortableProjectItem
|
||||
@@ -184,8 +190,11 @@ export function SidebarProjectsList(props: Props): React.ReactNode {
|
||||
onDragEnd={(event) => {
|
||||
const { active, over } = event;
|
||||
if (!over || active.id === over.id) return;
|
||||
const oldIndex = orderedGroups.findIndex((item) => item.id === active.id);
|
||||
const newIndex = orderedGroups.findIndex((item) => item.id === over.id);
|
||||
const activeId = typeof active.id === 'string' ? sortableIdToGroupId.get(active.id) : null;
|
||||
const overId = typeof over.id === 'string' ? sortableIdToGroupId.get(over.id) : null;
|
||||
if (!activeId || !overId) return;
|
||||
const oldIndex = orderedGroups.findIndex((item) => item.id === activeId);
|
||||
const newIndex = orderedGroups.findIndex((item) => item.id === overId);
|
||||
if (oldIndex === -1 || newIndex === -1 || oldIndex === newIndex) return;
|
||||
const next = arrayMove(orderedGroups, oldIndex, newIndex).map((item) => item.id);
|
||||
props.setGroupOrderByProject((prev) => {
|
||||
@@ -195,11 +204,11 @@ export function SidebarProjectsList(props: Props): React.ReactNode {
|
||||
});
|
||||
}}
|
||||
>
|
||||
<SortableContext items={orderedGroups.map((group) => group.id)} strategy={verticalListSortingStrategy}>
|
||||
<SortableContext items={sortableGroupIds} strategy={verticalListSortingStrategy}>
|
||||
{orderedGroups.map((group) => {
|
||||
const groupKey = `${projectKey}:${group.id}`;
|
||||
return (
|
||||
<SortableGroupItem key={group.id} id={group.id} disabled={props.isInlineEditing}>
|
||||
<SortableGroupItem key={groupKey} id={groupKey} disabled={props.isInlineEditing}>
|
||||
{props.renderGroupSessions(group, groupKey, projectKey)}
|
||||
</SortableGroupItem>
|
||||
);
|
||||
|
||||
@@ -10,6 +10,14 @@ type Variant = {
|
||||
};
|
||||
|
||||
const variants = [
|
||||
{
|
||||
variant: "static",
|
||||
component: ({ children, className, ...props }) => (
|
||||
<span {...props} className={className}>
|
||||
{children}
|
||||
</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
variant: "shine",
|
||||
component: ({ children, className, ...props }) => (
|
||||
@@ -210,7 +218,7 @@ export type TextProps = {
|
||||
Partial<MotionProps>;
|
||||
|
||||
export function Text({ variant = "shine", className, ...props }: TextProps) {
|
||||
const FALLBACK_INDEX = 0;
|
||||
const FALLBACK_INDEX = 1;
|
||||
|
||||
const variantComponent = variants.find((v) => v.variant === variant)?.component;
|
||||
|
||||
|
||||
@@ -72,8 +72,6 @@ const PROGRAMMATIC_SCROLL_SUPPRESS_MS = 200;
|
||||
const DIRECT_SCROLL_INTENT_WINDOW_MS = 250;
|
||||
// Threshold for re-pinning: 10% of container height (matches bottom spacer)
|
||||
const PIN_THRESHOLD_RATIO = 0.10;
|
||||
const REPIN_BLOCK_AFTER_RELEASE_MS = 4000;
|
||||
const STRICT_REPIN_DISTANCE_PX = 160;
|
||||
const SORTED_PIN_THRESHOLD_PX = 24;
|
||||
|
||||
export const useChatScrollManager = ({
|
||||
@@ -113,7 +111,6 @@ export const useChatScrollManager = ({
|
||||
const suppressUserScrollUntilRef = React.useRef<number>(0);
|
||||
const lastDirectScrollIntentAtRef = React.useRef<number>(0);
|
||||
const isPinnedRef = React.useRef(true);
|
||||
const repinBlockedUntilRef = React.useRef<number>(0);
|
||||
const lastScrollTopRef = React.useRef<number>(0);
|
||||
const touchLastYRef = React.useRef<number | null>(null);
|
||||
|
||||
@@ -127,10 +124,6 @@ export const useChatScrollManager = ({
|
||||
return container.scrollHeight - container.scrollTop - container.clientHeight;
|
||||
}, []);
|
||||
|
||||
const isStrictlyAtBottom = React.useCallback((distanceFromBottom: number) => {
|
||||
return distanceFromBottom <= STRICT_REPIN_DISTANCE_PX;
|
||||
}, []);
|
||||
|
||||
const updatePinnedState = React.useCallback((newPinned: boolean) => {
|
||||
if (isPinnedRef.current !== newPinned) {
|
||||
isPinnedRef.current = newPinned;
|
||||
@@ -148,9 +141,6 @@ export const useChatScrollManager = ({
|
||||
}, [markProgrammaticScroll, scrollEngine]);
|
||||
|
||||
const scrollPinnedToBottom = React.useCallback(() => {
|
||||
if (Date.now() < repinBlockedUntilRef.current) {
|
||||
return;
|
||||
}
|
||||
if (streamingMessageId) {
|
||||
scrollToBottomInternal({ followBottom: true });
|
||||
return;
|
||||
@@ -192,7 +182,6 @@ export const useChatScrollManager = ({
|
||||
if (!container) return;
|
||||
|
||||
// Re-pin when explicitly scrolling to bottom
|
||||
repinBlockedUntilRef.current = 0;
|
||||
updatePinnedState(true);
|
||||
|
||||
scrollToBottomInternal(options);
|
||||
@@ -201,7 +190,6 @@ export const useChatScrollManager = ({
|
||||
|
||||
const releasePinnedScroll = React.useCallback(() => {
|
||||
scrollEngine.cancelFollow();
|
||||
repinBlockedUntilRef.current = Date.now() + REPIN_BLOCK_AFTER_RELEASE_MS;
|
||||
updatePinnedState(false);
|
||||
updateScrollButtonVisibility();
|
||||
}, [scrollEngine, updatePinnedState, updateScrollButtonVisibility]);
|
||||
@@ -221,26 +209,19 @@ export const useChatScrollManager = ({
|
||||
|
||||
// Handle pin/unpin logic
|
||||
const currentScrollTop = container.scrollTop;
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
|
||||
const scrollingUp = currentScrollTop < lastScrollTopRef.current;
|
||||
|
||||
// Unpin whenever we move away from bottom.
|
||||
// Also handle programmatic jumps to older content (timeline navigation)
|
||||
// so we don't snap back to bottom on the next content update.
|
||||
if (isPinnedRef.current) {
|
||||
const nearBottom = isNearBottom(distanceFromBottom, getPinThreshold());
|
||||
const scrollingUpByUserIntent = Boolean(!isProgrammatic && event?.isTrusted && hasDirectIntent && scrollingUp);
|
||||
const programmaticJumpAwayFromBottom = Boolean(!event?.isTrusted && scrollingUp && !nearBottom);
|
||||
|
||||
if (scrollingUpByUserIntent || programmaticJumpAwayFromBottom) {
|
||||
// Unpin requires strict user intent check
|
||||
if (event?.isTrusted && !isProgrammatic && hasDirectIntent) {
|
||||
if (scrollingUp && isPinnedRef.current) {
|
||||
updatePinnedState(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Re-pin only when returning to bottom, not while still scrolling up.
|
||||
if (!isPinnedRef.current && now >= repinBlockedUntilRef.current) {
|
||||
if (event?.isTrusted && !scrollingUp && isStrictlyAtBottom(distanceFromBottom)) {
|
||||
// Re-pin at bottom should always work (even momentum scroll)
|
||||
if (!isPinnedRef.current) {
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
if (!scrollingUp && distanceFromBottom <= getPinThreshold()) {
|
||||
updatePinnedState(true);
|
||||
}
|
||||
}
|
||||
@@ -255,7 +236,6 @@ export const useChatScrollManager = ({
|
||||
currentSessionId,
|
||||
getDistanceFromBottom,
|
||||
getPinThreshold,
|
||||
isStrictlyAtBottom,
|
||||
scrollEngine,
|
||||
sessionMessages.length,
|
||||
updatePinnedState,
|
||||
@@ -275,7 +255,6 @@ export const useChatScrollManager = ({
|
||||
rootHeight: container.clientHeight,
|
||||
});
|
||||
|
||||
// Scrolling up while pinned → unpin and kill follow loop immediately
|
||||
if (isPinnedRef.current && shouldPauseAutoScrollOnWheel({
|
||||
root: container,
|
||||
target: event.target,
|
||||
@@ -283,9 +262,7 @@ export const useChatScrollManager = ({
|
||||
})) {
|
||||
scrollEngine.cancelFollow();
|
||||
updatePinnedState(false);
|
||||
return;
|
||||
}
|
||||
|
||||
}, [scrollEngine, updatePinnedState]);
|
||||
|
||||
React.useEffect(() => {
|
||||
@@ -383,7 +360,6 @@ export const useChatScrollManager = ({
|
||||
// Maintain pin-to-bottom when content changes
|
||||
React.useEffect(() => {
|
||||
if (!isPinnedRef.current) return;
|
||||
if (Date.now() < repinBlockedUntilRef.current) return;
|
||||
if (isSyncing) return;
|
||||
|
||||
const container = scrollRef.current;
|
||||
@@ -405,7 +381,7 @@ export const useChatScrollManager = ({
|
||||
updateScrollButtonVisibility();
|
||||
|
||||
// Maintain pin when content grows - fast smooth follow
|
||||
if (isPinnedRef.current && Date.now() >= repinBlockedUntilRef.current) {
|
||||
if (isPinnedRef.current) {
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
if (distanceFromBottom > getAutoFollowThreshold()) {
|
||||
scrollPinnedToBottom();
|
||||
@@ -417,7 +393,7 @@ export const useChatScrollManager = ({
|
||||
|
||||
// Also observe children for content changes
|
||||
const childObserver = new MutationObserver(() => {
|
||||
if (isPinnedRef.current && Date.now() >= repinBlockedUntilRef.current) {
|
||||
if (isPinnedRef.current) {
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
if (distanceFromBottom > getAutoFollowThreshold()) {
|
||||
scrollPinnedToBottom();
|
||||
@@ -454,7 +430,7 @@ export const useChatScrollManager = ({
|
||||
updateScrollButtonVisibility();
|
||||
|
||||
// Maintain pin when content changes - fast smooth follow
|
||||
if (isPinnedRef.current && Date.now() >= repinBlockedUntilRef.current) {
|
||||
if (isPinnedRef.current) {
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
if (distanceFromBottom > getAutoFollowThreshold()) {
|
||||
scrollPinnedToBottom();
|
||||
@@ -471,7 +447,7 @@ export const useChatScrollManager = ({
|
||||
const handlers: AnimationHandlers = {
|
||||
onChunk: () => {
|
||||
updateScrollButtonVisibility();
|
||||
if (isPinnedRef.current && Date.now() >= repinBlockedUntilRef.current) {
|
||||
if (isPinnedRef.current) {
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
if (distanceFromBottom > getAutoFollowThreshold()) {
|
||||
scrollPinnedToBottom();
|
||||
@@ -485,7 +461,7 @@ export const useChatScrollManager = ({
|
||||
onAnimationStart: () => {},
|
||||
onAnimatedHeightChange: () => {
|
||||
updateScrollButtonVisibility();
|
||||
if (isPinnedRef.current && Date.now() >= repinBlockedUntilRef.current) {
|
||||
if (isPinnedRef.current) {
|
||||
const distanceFromBottom = getDistanceFromBottom();
|
||||
if (distanceFromBottom > getAutoFollowThreshold()) {
|
||||
scrollPinnedToBottom();
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
"metadata": {
|
||||
"id": "amoled-dark",
|
||||
"name": "AMOLED",
|
||||
"description": "Port of OpenCode AMOLED theme (dark variant)",
|
||||
"description": "Ported from OpenCode AMOLED theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"amoled"
|
||||
]
|
||||
},
|
||||
@@ -15,10 +17,10 @@
|
||||
"primary": {
|
||||
"base": "#954af5",
|
||||
"hover": "#9f66f4",
|
||||
"active": "#9f66f4",
|
||||
"active": "#531195",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#954af580",
|
||||
"emphasis": "#9f66f4"
|
||||
"emphasis": "#954af5"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#000000",
|
||||
@@ -27,20 +29,20 @@
|
||||
"mutedForeground": "#dbdbdb",
|
||||
"elevated": "#0a0a0a",
|
||||
"elevatedForeground": "#ffffff",
|
||||
"overlay": "#00000080",
|
||||
"subtle": "#191919"
|
||||
"overlay": "#000000cc",
|
||||
"subtle": "#111111"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#434343",
|
||||
"borderHover": "#4e4e4e",
|
||||
"borderFocus": "#531195",
|
||||
"selection": "#3c0770",
|
||||
"selection": "#ffffff1f",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#531195",
|
||||
"focusRing": "#53119559",
|
||||
"focusRing": "#53119561",
|
||||
"cursor": "#ffffff",
|
||||
"hover": "#191919",
|
||||
"active": "#191919"
|
||||
"hover": "#ffffff17",
|
||||
"active": "#ffffff1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#c71133",
|
||||
@@ -48,15 +50,15 @@
|
||||
"errorBackground": "#5d0212",
|
||||
"errorBorder": "#7d081d",
|
||||
"warning": "#c49925",
|
||||
"warningForeground": "#ffffff",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#353003",
|
||||
"warningBorder": "#494308",
|
||||
"success": "#2bbd69",
|
||||
"successForeground": "#ffffff",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#08391c",
|
||||
"successBorder": "#025027",
|
||||
"info": "#24b6b6",
|
||||
"infoForeground": "#ffffff",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#063636",
|
||||
"infoBorder": "#0f4b4b"
|
||||
},
|
||||
@@ -64,12 +66,12 @@
|
||||
"open": "#2bbd69",
|
||||
"draft": "#dbdbdb",
|
||||
"blocked": "#c49925",
|
||||
"merged": "#ff00ff",
|
||||
"merged": "#18ffff",
|
||||
"closed": "#c71133"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#111111",
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"comment": "#555555",
|
||||
"keyword": "#ff00ff",
|
||||
@@ -82,24 +84,24 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#555555",
|
||||
"stringEscape": "#b388ff",
|
||||
"stringEscape": "#ffffff",
|
||||
"keywordImport": "#ff00ff",
|
||||
"storageModifier": "#ff00ff",
|
||||
"functionCall": "#ffea00",
|
||||
"method": "#ffea00",
|
||||
"variableProperty": "#ffea00",
|
||||
"variableOther": "#ffffff",
|
||||
"variableGlobal": "#b388ff",
|
||||
"variableGlobal": "#18ffff",
|
||||
"variableLocal": "#dbdbdb",
|
||||
"parameter": "#ffffff",
|
||||
"constant": "#b388ff",
|
||||
"constant": "#18ffff",
|
||||
"class": "#fef5a2",
|
||||
"className": "#fef5a2",
|
||||
"interface": "#fef5a2",
|
||||
"struct": "#fef5a2",
|
||||
"enum": "#fef5a2",
|
||||
"typeParameter": "#fef5a2",
|
||||
"namespace": "#ff00ff",
|
||||
"namespace": "#fef5a2",
|
||||
"module": "#ff00ff",
|
||||
"tag": "#ff00ff",
|
||||
"jsxTag": "#ff00ff",
|
||||
@@ -107,12 +109,12 @@
|
||||
"tagAttributeValue": "#00ff88",
|
||||
"boolean": "#18ffff",
|
||||
"decorator": "#ff00ff",
|
||||
"label": "#ff00ff",
|
||||
"label": "#ffea00",
|
||||
"punctuation": "#dbdbdb",
|
||||
"macro": "#ff00ff",
|
||||
"preprocessor": "#ff00ff",
|
||||
"regex": "#ffffff",
|
||||
"url": "#e3d7fe",
|
||||
"url": "#954af5",
|
||||
"key": "#ffea00",
|
||||
"exception": "#c71133"
|
||||
},
|
||||
@@ -123,35 +125,58 @@
|
||||
"diffRemovedBackground": "#230204",
|
||||
"diffModified": "#fef5a2",
|
||||
"diffModifiedBackground": "#1f1b27",
|
||||
"lineNumber": "#bebebe",
|
||||
"lineNumber": "#dbdbdb",
|
||||
"lineNumberActive": "#ffffff"
|
||||
}
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#e3d7fe",
|
||||
"heading2": "#e3d7fe",
|
||||
"heading3": "#ffffff",
|
||||
"heading4": "#ffffff",
|
||||
"link": "#e3d7fe",
|
||||
"linkHover": "#a9fdfc",
|
||||
"inlineCode": "#8cfeb0",
|
||||
"inlineCodeBackground": "#111111",
|
||||
"blockquote": "#fef5a2",
|
||||
"blockquoteBorder": "#434343",
|
||||
"listMarker": "#e3d7fe99"
|
||||
"header": {
|
||||
"background": "#000000",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"icon": "#dbdbdb",
|
||||
"hover": "#ffffff17"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#111111",
|
||||
"foreground": "#dbdbdb",
|
||||
"border": "#434343",
|
||||
"icon": "#dbdbdb",
|
||||
"hover": "#ffffff17",
|
||||
"active": "#ffffff1f",
|
||||
"accent": "#954af5",
|
||||
"accentForeground": "#ffffff"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#000000",
|
||||
"userMessage": "#ffffff",
|
||||
"userMessageBackground": "#3c0770",
|
||||
"userMessageBackground": "#0a0a0a",
|
||||
"assistantMessage": "#ffffff",
|
||||
"assistantMessageBackground": "#000000",
|
||||
"timestamp": "#dbdbdb",
|
||||
"divider": "#434343"
|
||||
"divider": "#434343",
|
||||
"typing": "#dbdbdb"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#954af5",
|
||||
"heading2": "#954af5",
|
||||
"heading3": "#ffffff",
|
||||
"heading4": "#ffffff",
|
||||
"link": "#954af5",
|
||||
"linkHover": "#9f66f4",
|
||||
"inlineCode": "#2bbd69",
|
||||
"inlineCodeBackground": "#111111",
|
||||
"blockquote": "#dbdbdb",
|
||||
"blockquoteBorder": "#434343",
|
||||
"listMarker": "#954af599",
|
||||
"bold": "#ffffff",
|
||||
"italic": "#dbdbdb",
|
||||
"strikethrough": "#dbdbdb",
|
||||
"hr": "#434343"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#11111180",
|
||||
"border": "#434343b3",
|
||||
"headerHover": "#19191980",
|
||||
"background": "#111111",
|
||||
"border": "#434343",
|
||||
"headerHover": "#ffffff17",
|
||||
"icon": "#dbdbdb",
|
||||
"title": "#ffffff",
|
||||
"description": "#dbdbdb",
|
||||
@@ -160,8 +185,224 @@
|
||||
"addedBackground": "#011406",
|
||||
"removed": "#f20e3f",
|
||||
"removedBackground": "#230204",
|
||||
"lineNumber": "#bebebe"
|
||||
"modified": "#fef5a2",
|
||||
"modifiedBackground": "#1f1b27",
|
||||
"lineNumber": "#dbdbdb"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"info": "#24b6b6",
|
||||
"warning": "#c49925",
|
||||
"error": "#c71133"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"info": "#24b6b6",
|
||||
"warning": "#c49925",
|
||||
"error": "#c71133"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#0a0a0a",
|
||||
"inputForeground": "#ffffff",
|
||||
"inputBorder": "#434343",
|
||||
"inputBorderHover": "#4e4e4e",
|
||||
"inputBorderFocus": "#531195",
|
||||
"inputPlaceholder": "#dbdbdb",
|
||||
"inputDisabled": "#111111",
|
||||
"inputSelection": "#ffffff1f",
|
||||
"label": "#dbdbdb",
|
||||
"helperText": "#dbdbdb"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#954af5",
|
||||
"fg": "#ffffff",
|
||||
"border": "#954af5",
|
||||
"hover": "#9f66f4",
|
||||
"active": "#531195",
|
||||
"disabled": "#111111"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#0a0a0a",
|
||||
"fg": "#ffffff",
|
||||
"border": "#434343",
|
||||
"hover": "#ffffff17",
|
||||
"active": "#ffffff1f",
|
||||
"disabled": "#111111"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#ffffff",
|
||||
"border": "#00000000",
|
||||
"hover": "#ffffff17",
|
||||
"active": "#ffffff1f",
|
||||
"disabled": "#dbdbdb"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#c71133",
|
||||
"fg": "#ffffff",
|
||||
"border": "#7d081d",
|
||||
"hover": "#5d0212",
|
||||
"active": "#c71133",
|
||||
"disabled": "#111111"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"overlay": "#000000d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"inputBackground": "#0a0a0a",
|
||||
"selectedBackground": "#ffffff1f",
|
||||
"selectedForeground": "#ffffff",
|
||||
"muted": "#dbdbdb"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#111111",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"icon": "#dbdbdb",
|
||||
"removeHover": "#5d0212"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#000000",
|
||||
"foreground": "#ffffff",
|
||||
"mutedForeground": "#dbdbdb",
|
||||
"border": "#434343",
|
||||
"hover": "#ffffff17",
|
||||
"active": "#ffffff1f"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"selectedBackground": "#ffffff1f",
|
||||
"selectedForeground": "#ffffff"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"allow": "#2bbd69",
|
||||
"allowBackground": "#08391c",
|
||||
"deny": "#c71133",
|
||||
"denyBackground": "#5d0212"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#954af5",
|
||||
"spinnerTrack": "#111111",
|
||||
"skeleton": "#111111",
|
||||
"shimmer": "#ffffff17"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#ffffff33",
|
||||
"thumbHover": "#ffffff57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#111111",
|
||||
"fg": "#ffffff",
|
||||
"border": "#434343"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#063636",
|
||||
"fg": "#24b6b6",
|
||||
"border": "#0f4b4b"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#08391c",
|
||||
"fg": "#2bbd69",
|
||||
"border": "#025027"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#353003",
|
||||
"fg": "#c49925",
|
||||
"border": "#494308"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5d0212",
|
||||
"fg": "#c71133",
|
||||
"border": "#7d081d"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#0a0a0a",
|
||||
"foreground": "#ffffff",
|
||||
"border": "#434343",
|
||||
"success": {
|
||||
"background": "#08391c",
|
||||
"foreground": "#2bbd69",
|
||||
"border": "#025027"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#353003",
|
||||
"foreground": "#c49925",
|
||||
"border": "#494308"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5d0212",
|
||||
"foreground": "#c71133",
|
||||
"border": "#7d081d"
|
||||
},
|
||||
"info": {
|
||||
"background": "#063636",
|
||||
"foreground": "#24b6b6",
|
||||
"border": "#0f4b4b"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#dbdbdb",
|
||||
"title": "#ffffff",
|
||||
"description": "#dbdbdb",
|
||||
"border": "#434343"
|
||||
},
|
||||
"table": {
|
||||
"border": "#434343",
|
||||
"headerBackground": "#0a0a0a",
|
||||
"headerForeground": "#ffffff",
|
||||
"rowHover": "#ffffff17",
|
||||
"rowSelected": "#ffffff1f"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#954af5",
|
||||
"#24b6b6",
|
||||
"#2bbd69",
|
||||
"#c49925",
|
||||
"#c71133"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#531195",
|
||||
"selection": "#ffffff1f",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #53119559"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
"metadata": {
|
||||
"id": "amoled-light",
|
||||
"name": "AMOLED",
|
||||
"description": "Port of OpenCode AMOLED theme (light variant)",
|
||||
"description": "Ported from OpenCode AMOLED theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"amoled"
|
||||
]
|
||||
},
|
||||
@@ -15,10 +17,10 @@
|
||||
"primary": {
|
||||
"base": "#6209fd",
|
||||
"hover": "#5806e6",
|
||||
"active": "#5806e6",
|
||||
"active": "#babafa",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#6209fd80",
|
||||
"emphasis": "#5806e6"
|
||||
"emphasis": "#6209fd"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#f1f1f1",
|
||||
@@ -27,20 +29,20 @@
|
||||
"mutedForeground": "#232323",
|
||||
"elevated": "#eaeaea",
|
||||
"elevatedForeground": "#0a0a0a",
|
||||
"overlay": "#0000004d",
|
||||
"subtle": "#dbdbdb"
|
||||
"overlay": "#f1f1f133",
|
||||
"subtle": "#e3e3e3"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#b9b9b9",
|
||||
"borderHover": "#ababab",
|
||||
"borderFocus": "#babafa",
|
||||
"selection": "#e7e8fe",
|
||||
"selectionForeground": "#000000",
|
||||
"selection": "#0a0a0a16",
|
||||
"selectionForeground": "#0a0a0a",
|
||||
"focus": "#babafa",
|
||||
"focusRing": "#babafa47",
|
||||
"cursor": "#0a0a0a",
|
||||
"hover": "#dbdbdb",
|
||||
"active": "#dbdbdb"
|
||||
"hover": "#0a0a0a0e",
|
||||
"active": "#0a0a0a16"
|
||||
},
|
||||
"status": {
|
||||
"error": "#ea1f40",
|
||||
@@ -64,12 +66,12 @@
|
||||
"open": "#20e679",
|
||||
"draft": "#232323",
|
||||
"blocked": "#fbac7c",
|
||||
"merged": "#d500f9",
|
||||
"merged": "#00b0ff",
|
||||
"closed": "#ea1f40"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#e3e3e3",
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"comment": "#757575",
|
||||
"keyword": "#d500f9",
|
||||
@@ -82,24 +84,24 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#757575",
|
||||
"stringEscape": "#6200ff",
|
||||
"stringEscape": "#0a0a0a",
|
||||
"keywordImport": "#d500f9",
|
||||
"storageModifier": "#d500f9",
|
||||
"functionCall": "#ff9100",
|
||||
"method": "#ff9100",
|
||||
"variableProperty": "#ff9100",
|
||||
"variableOther": "#010101",
|
||||
"variableGlobal": "#6200ff",
|
||||
"variableLocal": "#232323",
|
||||
"variableGlobal": "#00b0ff",
|
||||
"variableLocal": "#0a0a0a",
|
||||
"parameter": "#010101",
|
||||
"constant": "#6200ff",
|
||||
"constant": "#00b0ff",
|
||||
"class": "#785110",
|
||||
"className": "#785110",
|
||||
"interface": "#785110",
|
||||
"struct": "#785110",
|
||||
"enum": "#785110",
|
||||
"typeParameter": "#785110",
|
||||
"namespace": "#d500f9",
|
||||
"namespace": "#785110",
|
||||
"module": "#d500f9",
|
||||
"tag": "#d500f9",
|
||||
"jsxTag": "#d500f9",
|
||||
@@ -107,12 +109,12 @@
|
||||
"tagAttributeValue": "#00e676",
|
||||
"boolean": "#00b0ff",
|
||||
"decorator": "#d500f9",
|
||||
"label": "#d500f9",
|
||||
"label": "#ff9100",
|
||||
"punctuation": "#0a0a0a",
|
||||
"macro": "#d500f9",
|
||||
"preprocessor": "#d500f9",
|
||||
"regex": "#0a0a0a",
|
||||
"url": "#580ce6",
|
||||
"url": "#6209fd",
|
||||
"key": "#ff9100",
|
||||
"exception": "#ea1f40"
|
||||
},
|
||||
@@ -123,35 +125,58 @@
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffModified": "#785110",
|
||||
"diffModifiedBackground": "#dddcea",
|
||||
"lineNumber": "#3c3c3c",
|
||||
"lineNumber": "#232323",
|
||||
"lineNumberActive": "#0a0a0a"
|
||||
}
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#580ce6",
|
||||
"heading2": "#580ce6",
|
||||
"heading3": "#0a0a0a",
|
||||
"heading4": "#0a0a0a",
|
||||
"link": "#580ce6",
|
||||
"linkHover": "#13608a",
|
||||
"inlineCode": "#126b37",
|
||||
"inlineCodeBackground": "#e3e3e3",
|
||||
"blockquote": "#785110",
|
||||
"blockquoteBorder": "#b9b9b9",
|
||||
"listMarker": "#580ce699"
|
||||
"header": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"icon": "#232323",
|
||||
"hover": "#0a0a0a0e"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#e3e3e3",
|
||||
"foreground": "#232323",
|
||||
"border": "#b9b9b9",
|
||||
"icon": "#232323",
|
||||
"hover": "#0a0a0a0e",
|
||||
"active": "#0a0a0a16",
|
||||
"accent": "#6209fd",
|
||||
"accentForeground": "#ffffff"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#f1f1f1",
|
||||
"userMessage": "#0a0a0a",
|
||||
"userMessageBackground": "#e7e8fe",
|
||||
"userMessageBackground": "#eaeaea",
|
||||
"assistantMessage": "#0a0a0a",
|
||||
"assistantMessageBackground": "#f1f1f1",
|
||||
"timestamp": "#232323",
|
||||
"divider": "#b9b9b9"
|
||||
"divider": "#b9b9b9",
|
||||
"typing": "#232323"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#6209fd",
|
||||
"heading2": "#6209fd",
|
||||
"heading3": "#0a0a0a",
|
||||
"heading4": "#0a0a0a",
|
||||
"link": "#6209fd",
|
||||
"linkHover": "#5806e6",
|
||||
"inlineCode": "#20e679",
|
||||
"inlineCodeBackground": "#e3e3e3",
|
||||
"blockquote": "#232323",
|
||||
"blockquoteBorder": "#b9b9b9",
|
||||
"listMarker": "#6209fd99",
|
||||
"bold": "#0a0a0a",
|
||||
"italic": "#232323",
|
||||
"strikethrough": "#232323",
|
||||
"hr": "#b9b9b9"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#e3e3e380",
|
||||
"border": "#b9b9b9b3",
|
||||
"headerHover": "#dbdbdb80",
|
||||
"background": "#e3e3e3",
|
||||
"border": "#b9b9b9",
|
||||
"headerHover": "#0a0a0a0e",
|
||||
"icon": "#232323",
|
||||
"title": "#0a0a0a",
|
||||
"description": "#232323",
|
||||
@@ -160,8 +185,224 @@
|
||||
"addedBackground": "#f8fff9",
|
||||
"removed": "#ea1f40",
|
||||
"removedBackground": "#fffcfc",
|
||||
"lineNumber": "#3c3c3c"
|
||||
"modified": "#785110",
|
||||
"modifiedBackground": "#dddcea",
|
||||
"lineNumber": "#232323"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"info": "#7fcbfd",
|
||||
"warning": "#fbac7c",
|
||||
"error": "#ea1f40"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"info": "#7fcbfd",
|
||||
"warning": "#fbac7c",
|
||||
"error": "#ea1f40"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#eaeaea",
|
||||
"inputForeground": "#0a0a0a",
|
||||
"inputBorder": "#b9b9b9",
|
||||
"inputBorderHover": "#ababab",
|
||||
"inputBorderFocus": "#babafa",
|
||||
"inputPlaceholder": "#232323",
|
||||
"inputDisabled": "#e3e3e3",
|
||||
"inputSelection": "#0a0a0a16",
|
||||
"label": "#232323",
|
||||
"helperText": "#232323"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#6209fd",
|
||||
"fg": "#ffffff",
|
||||
"border": "#6209fd",
|
||||
"hover": "#5806e6",
|
||||
"active": "#babafa",
|
||||
"disabled": "#e3e3e3"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#eaeaea",
|
||||
"fg": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"hover": "#0a0a0a0e",
|
||||
"active": "#0a0a0a16",
|
||||
"disabled": "#e3e3e3"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#0a0a0a",
|
||||
"border": "#00000000",
|
||||
"hover": "#0a0a0a0e",
|
||||
"active": "#0a0a0a16",
|
||||
"disabled": "#232323"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#ea1f40",
|
||||
"fg": "#000000",
|
||||
"border": "#fea6a4",
|
||||
"hover": "#fee2e1",
|
||||
"active": "#ea1f40",
|
||||
"disabled": "#e3e3e3"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"overlay": "#f1f1f13d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"inputBackground": "#eaeaea",
|
||||
"selectedBackground": "#0a0a0a16",
|
||||
"selectedForeground": "#0a0a0a",
|
||||
"muted": "#232323"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#e3e3e3",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"icon": "#232323",
|
||||
"removeHover": "#fee2e1"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#0a0a0a",
|
||||
"mutedForeground": "#232323",
|
||||
"border": "#b9b9b9",
|
||||
"hover": "#0a0a0a0e",
|
||||
"active": "#0a0a0a16"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"selectedBackground": "#0a0a0a16",
|
||||
"selectedForeground": "#0a0a0a"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"allow": "#20e679",
|
||||
"allowBackground": "#b4ffc7",
|
||||
"deny": "#ea1f40",
|
||||
"denyBackground": "#fee2e1"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#6209fd",
|
||||
"spinnerTrack": "#e3e3e3",
|
||||
"skeleton": "#e3e3e3",
|
||||
"shimmer": "#0a0a0a0e"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#0a0a0a26",
|
||||
"thumbHover": "#0a0a0a40"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#e3e3e3",
|
||||
"fg": "#0a0a0a",
|
||||
"border": "#b9b9b9"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#d8edfd",
|
||||
"fg": "#7fcbfd",
|
||||
"border": "#7fcbfd"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#b4ffc7",
|
||||
"fg": "#20e679",
|
||||
"border": "#20e679"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#ffe6c6",
|
||||
"fg": "#fbac7c",
|
||||
"border": "#fab141"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fee2e1",
|
||||
"fg": "#ea1f40",
|
||||
"border": "#fea6a4"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#eaeaea",
|
||||
"foreground": "#0a0a0a",
|
||||
"border": "#b9b9b9",
|
||||
"success": {
|
||||
"background": "#b4ffc7",
|
||||
"foreground": "#20e679",
|
||||
"border": "#20e679"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#ffe6c6",
|
||||
"foreground": "#fbac7c",
|
||||
"border": "#fab141"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fee2e1",
|
||||
"foreground": "#ea1f40",
|
||||
"border": "#fea6a4"
|
||||
},
|
||||
"info": {
|
||||
"background": "#d8edfd",
|
||||
"foreground": "#7fcbfd",
|
||||
"border": "#7fcbfd"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#232323",
|
||||
"title": "#0a0a0a",
|
||||
"description": "#232323",
|
||||
"border": "#b9b9b9"
|
||||
},
|
||||
"table": {
|
||||
"border": "#b9b9b9",
|
||||
"headerBackground": "#eaeaea",
|
||||
"headerForeground": "#0a0a0a",
|
||||
"rowHover": "#0a0a0a0e",
|
||||
"rowSelected": "#0a0a0a16"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#6209fd",
|
||||
"#7fcbfd",
|
||||
"#20e679",
|
||||
"#fbac7c",
|
||||
"#ea1f40"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#babafa",
|
||||
"selection": "#0a0a0a16",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #babafa40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "cursor-dark",
|
||||
"name": "Cursor",
|
||||
"description": "Port of OpenCode Cursor theme (dark variant)",
|
||||
"description": "Ported from OpenCode Cursor theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"cursor"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#369ab3",
|
||||
"base": "#88c0d0",
|
||||
"hover": "#41aac5",
|
||||
"active": "#41aac5",
|
||||
"active": "#1aaaa6",
|
||||
"foreground": "#000000",
|
||||
"muted": "#369ab380",
|
||||
"emphasis": "#41aac5"
|
||||
"muted": "#88c0d080",
|
||||
"emphasis": "#54eee9"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#e4e4e4",
|
||||
"muted": "#1c1c1c",
|
||||
"muted": "#141414",
|
||||
"mutedForeground": "#e4e4e45e",
|
||||
"elevated": "#161616",
|
||||
"elevatedForeground": "#e4e4e4",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#0e0e0ecc",
|
||||
"subtle": "#232323"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#464646",
|
||||
"borderHover": "#4f4f4f",
|
||||
"borderFocus": "#044c4a",
|
||||
"selection": "#003735",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#044c4a",
|
||||
"focusRing": "#044c4a59",
|
||||
"cursor": "#e4e4e4",
|
||||
"hover": "#232323",
|
||||
"active": "#232323"
|
||||
"borderFocus": "#1aaaa6",
|
||||
"selection": "#e4e4e41f",
|
||||
"selectionForeground": "#e4e4e4",
|
||||
"focus": "#1aaaa6",
|
||||
"focusRing": "#1aaaa661",
|
||||
"cursor": "#fcfcfc",
|
||||
"hover": "#e4e4e417",
|
||||
"active": "#e4e4e41f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#c21a55",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#e34671",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#5a0523",
|
||||
"errorBorder": "#7a0e33",
|
||||
"warning": "#ca6803",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#f1b467",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#422902",
|
||||
"warningBorder": "#5b3a07",
|
||||
"success": "#078146",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#3fa266",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#00391c",
|
||||
"successBorder": "#045029",
|
||||
"info": "#4b7dad",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#81a1c1",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#093152",
|
||||
"infoBorder": "#1a446a"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#078146",
|
||||
"open": "#3fa266",
|
||||
"draft": "#e4e4e45e",
|
||||
"blocked": "#ca6803",
|
||||
"merged": "#82D2CE",
|
||||
"closed": "#c21a55"
|
||||
"blocked": "#f1b467",
|
||||
"merged": "#F8C762",
|
||||
"closed": "#e34671"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#1c1c1c",
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"comment": "#e4e4e45e",
|
||||
"keyword": "#82D2CE",
|
||||
"string": "#E394DC",
|
||||
"number": "#EFB080",
|
||||
"number": "#F8C762",
|
||||
"function": "#81a1c1",
|
||||
"variable": "#e4e4e4",
|
||||
"type": "#EFB080",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#e4e4e45e",
|
||||
"stringEscape": "#F8C762",
|
||||
"stringEscape": "#e4e4e4",
|
||||
"keywordImport": "#82D2CE",
|
||||
"storageModifier": "#82D2CE",
|
||||
"functionCall": "#81a1c1",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#81a1c1",
|
||||
"variableOther": "#e4e4e4",
|
||||
"variableGlobal": "#F8C762",
|
||||
"variableLocal": "#e4e4e45e",
|
||||
"variableLocal": "#e4e4e4",
|
||||
"parameter": "#e4e4e4",
|
||||
"constant": "#F8C762",
|
||||
"class": "#EFB080",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#EFB080",
|
||||
"enum": "#EFB080",
|
||||
"typeParameter": "#EFB080",
|
||||
"namespace": "#82D2CE",
|
||||
"namespace": "#EFB080",
|
||||
"module": "#82D2CE",
|
||||
"tag": "#82D2CE",
|
||||
"jsxTag": "#82D2CE",
|
||||
"tagAttribute": "#81a1c1",
|
||||
"tagAttributeValue": "#E394DC",
|
||||
"boolean": "#EFB080",
|
||||
"boolean": "#F8C762",
|
||||
"decorator": "#82D2CE",
|
||||
"label": "#82D2CE",
|
||||
"label": "#81a1c1",
|
||||
"punctuation": "#e4e4e4",
|
||||
"macro": "#82D2CE",
|
||||
"preprocessor": "#82D2CE",
|
||||
"regex": "#e4e4e4",
|
||||
"url": "#82D2CE",
|
||||
"url": "#54eee9",
|
||||
"key": "#81a1c1",
|
||||
"exception": "#c21a55"
|
||||
"exception": "#e34671"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#75f1a8",
|
||||
"diffAddedBackground": "#011307",
|
||||
"diffRemoved": "#f72661",
|
||||
"diffRemovedBackground": "#240007",
|
||||
"diffAddedBackground": "#021c0d",
|
||||
"diffRemoved": "#fcc3c8",
|
||||
"diffRemovedBackground": "#31010c",
|
||||
"diffModified": "#fdd8ac",
|
||||
"diffModifiedBackground": "#29302f",
|
||||
"diffModifiedBackground": "#1a1d1d",
|
||||
"lineNumber": "#bdbdbd",
|
||||
"lineNumberActive": "#e4e4e4"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"icon": "#909090",
|
||||
"hover": "#232323"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#141414",
|
||||
"foreground": "#e4e4e45e",
|
||||
"border": "#464646",
|
||||
"icon": "#272727",
|
||||
"hover": "#232323",
|
||||
"active": "#003735",
|
||||
"accent": "#88c0d0",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#0e0e0e",
|
||||
"userMessage": "#e4e4e4",
|
||||
"userMessageBackground": "#1c1c1c",
|
||||
"assistantMessage": "#e4e4e4",
|
||||
"assistantMessageBackground": "#0e0e0e",
|
||||
"timestamp": "#bdbdbd",
|
||||
"divider": "#353535",
|
||||
"typing": "#e4e4e45e"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#AAA0FA",
|
||||
"heading2": "#AAA0FA",
|
||||
"heading3": "#e4e4e4",
|
||||
"heading3": "#fcfcfc",
|
||||
"heading4": "#e4e4e4",
|
||||
"link": "#82D2CE",
|
||||
"linkHover": "#81a1c1",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#1c1c1c",
|
||||
"blockquote": "#e4e4e45e",
|
||||
"blockquoteBorder": "#464646",
|
||||
"listMarker": "#e4e4e499"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#e4e4e4",
|
||||
"userMessageBackground": "#003735",
|
||||
"assistantMessage": "#e4e4e4",
|
||||
"assistantMessageBackground": "#0e0e0e",
|
||||
"timestamp": "#e4e4e45e",
|
||||
"divider": "#464646"
|
||||
"listMarker": "#e4e4e499",
|
||||
"bold": "#F8C762",
|
||||
"italic": "#82D2CE",
|
||||
"strikethrough": "#e4e4e45e",
|
||||
"hr": "#e4e4e45e"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#1c1c1c80",
|
||||
"border": "#464646b3",
|
||||
"headerHover": "#23232380",
|
||||
"icon": "#e4e4e45e",
|
||||
"background": "#1c1c1c",
|
||||
"border": "#353535",
|
||||
"headerHover": "#232323",
|
||||
"icon": "#272727",
|
||||
"title": "#e4e4e4",
|
||||
"description": "#e4e4e45e",
|
||||
"edit": {
|
||||
"added": "#75f1a8",
|
||||
"addedBackground": "#011307",
|
||||
"addedBackground": "#021c0d",
|
||||
"removed": "#f72661",
|
||||
"removedBackground": "#240007",
|
||||
"removedBackground": "#31010c",
|
||||
"modified": "#fdd8ac",
|
||||
"modifiedBackground": "#1a1d1d",
|
||||
"lineNumber": "#bdbdbd"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"info": "#81a1c1",
|
||||
"warning": "#f1b467",
|
||||
"error": "#e34671"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"info": "#81a1c1",
|
||||
"warning": "#f1b467",
|
||||
"error": "#e34671"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#111111",
|
||||
"inputForeground": "#e4e4e4",
|
||||
"inputBorder": "#353535",
|
||||
"inputBorderHover": "#3e3e3e",
|
||||
"inputBorderFocus": "#1aaaa6",
|
||||
"inputPlaceholder": "#bdbdbd",
|
||||
"inputDisabled": "#191919",
|
||||
"inputSelection": "#0e6865",
|
||||
"label": "#e4e4e45e",
|
||||
"helperText": "#bdbdbd"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#88c0d0",
|
||||
"fg": "#000000",
|
||||
"border": "#044c4a",
|
||||
"hover": "#41aac5",
|
||||
"active": "#1aaaa6",
|
||||
"disabled": "#3e3e3e"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#161616",
|
||||
"fg": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"hover": "#1c1c1c",
|
||||
"active": "#232323",
|
||||
"disabled": "#191919"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#e4e4e4",
|
||||
"border": "#00000000",
|
||||
"hover": "#1c1c1c",
|
||||
"active": "#232323",
|
||||
"disabled": "#bdbdbd"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#e34671",
|
||||
"fg": "#151313",
|
||||
"border": "#7a0e33",
|
||||
"hover": "#7a0e33",
|
||||
"active": "#c21a55",
|
||||
"disabled": "#191919"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"overlay": "#0e0e0ed6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"inputBackground": "#111111",
|
||||
"selectedBackground": "#003735",
|
||||
"selectedForeground": "#e4e4e4",
|
||||
"muted": "#e4e4e45e"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#1c1c1c",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#353535",
|
||||
"icon": "#272727",
|
||||
"removeHover": "#5a0523"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#e4e4e4",
|
||||
"mutedForeground": "#e4e4e45e",
|
||||
"border": "#2d2d2d",
|
||||
"hover": "#232323",
|
||||
"active": "#003735"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"selectedBackground": "#003735",
|
||||
"selectedForeground": "#e4e4e4"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"allow": "#3fa266",
|
||||
"allowBackground": "#00391c",
|
||||
"deny": "#e34671",
|
||||
"denyBackground": "#5a0523"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#88c0d0",
|
||||
"spinnerTrack": "#232323",
|
||||
"skeleton": "#1c1c1c",
|
||||
"shimmer": "#232323"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#e4e4e433",
|
||||
"thumbHover": "#e4e4e457"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#1c1c1c",
|
||||
"fg": "#e4e4e4",
|
||||
"border": "#353535"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#093152",
|
||||
"fg": "#81a1c1",
|
||||
"border": "#1a446a"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#00391c",
|
||||
"fg": "#3fa266",
|
||||
"border": "#045029"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#422902",
|
||||
"fg": "#f1b467",
|
||||
"border": "#5b3a07"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5a0523",
|
||||
"fg": "#e34671",
|
||||
"border": "#7a0e33"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#161616",
|
||||
"foreground": "#e4e4e4",
|
||||
"border": "#464646",
|
||||
"success": {
|
||||
"background": "#00391c",
|
||||
"foreground": "#3fa266",
|
||||
"border": "#045029"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#422902",
|
||||
"foreground": "#f1b467",
|
||||
"border": "#5b3a07"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5a0523",
|
||||
"foreground": "#e34671",
|
||||
"border": "#7a0e33"
|
||||
},
|
||||
"info": {
|
||||
"background": "#093152",
|
||||
"foreground": "#81a1c1",
|
||||
"border": "#1a446a"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#e4e4e45e",
|
||||
"title": "#e4e4e4",
|
||||
"description": "#e4e4e45e",
|
||||
"border": "#2d2d2d"
|
||||
},
|
||||
"table": {
|
||||
"border": "#2d2d2d",
|
||||
"headerBackground": "#161616",
|
||||
"headerForeground": "#e4e4e4",
|
||||
"rowHover": "#232323",
|
||||
"rowSelected": "#003735"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#88c0d0",
|
||||
"#81a1c1",
|
||||
"#3fa266",
|
||||
"#f1b467",
|
||||
"#e34671"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#1aaaa6",
|
||||
"selection": "#003735",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #82D2CE59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "cursor-light",
|
||||
"name": "Cursor",
|
||||
"description": "Port of OpenCode Cursor theme (light variant)",
|
||||
"description": "Ported from OpenCode Cursor theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"cursor"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#659daa",
|
||||
"base": "#6f9ba6",
|
||||
"hover": "#5992a0",
|
||||
"active": "#5992a0",
|
||||
"active": "#12659a",
|
||||
"foreground": "#000000",
|
||||
"muted": "#659daa80",
|
||||
"emphasis": "#5992a0"
|
||||
"muted": "#6f9ba680",
|
||||
"emphasis": "#0e5b8b"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#fcfcfc",
|
||||
"foreground": "#131313",
|
||||
"muted": "#eeeeee",
|
||||
"muted": "#f1f1f1",
|
||||
"mutedForeground": "#141414ad",
|
||||
"elevated": "#f5f5f5",
|
||||
"elevatedForeground": "#131313",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#fcfcfc33",
|
||||
"subtle": "#e5e5e5"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#c3c3c3",
|
||||
"borderHover": "#b5b5b5",
|
||||
"borderFocus": "#88c9fd",
|
||||
"selection": "#daedfd",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#88c9fd",
|
||||
"focusRing": "#88c9fd47",
|
||||
"cursor": "#131313",
|
||||
"hover": "#e5e5e5",
|
||||
"active": "#e5e5e5"
|
||||
"borderFocus": "#12659a",
|
||||
"selection": "#13131316",
|
||||
"selectionForeground": "#131313",
|
||||
"focus": "#12659a",
|
||||
"focusRing": "#12659a47",
|
||||
"cursor": "#050505",
|
||||
"hover": "#1313130e",
|
||||
"active": "#13131316"
|
||||
},
|
||||
"status": {
|
||||
"error": "#c4174b",
|
||||
"errorForeground": "#000000",
|
||||
"error": "#cf2d56",
|
||||
"errorForeground": "#ffffff",
|
||||
"errorBackground": "#fee2e4",
|
||||
"errorBorder": "#fba6af",
|
||||
"warning": "#ffa5a8",
|
||||
"warning": "#db704b",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#fde4db",
|
||||
"warningBorder": "#faab90",
|
||||
"success": "#6fdaad",
|
||||
"success": "#1f8a65",
|
||||
"successForeground": "#000000",
|
||||
"successBackground": "#bbfadd",
|
||||
"successBorder": "#6fdaad",
|
||||
"info": "#8ac9fa",
|
||||
"info": "#3c7cab",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#d8edfe",
|
||||
"infoBorder": "#8ac9fa"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#6fdaad",
|
||||
"open": "#1f8a65",
|
||||
"draft": "#141414ad",
|
||||
"blocked": "#ffa5a8",
|
||||
"merged": "#b3003f",
|
||||
"closed": "#c4174b"
|
||||
"blocked": "#db704b",
|
||||
"merged": "#b8448b",
|
||||
"closed": "#cf2d56"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#eeeeee",
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"comment": "#141414ad",
|
||||
"keyword": "#b3003f",
|
||||
"string": "#9e94d5",
|
||||
"number": "#db704b",
|
||||
"number": "#b8448b",
|
||||
"function": "#141414ad",
|
||||
"variable": "#141414",
|
||||
"type": "#206595",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#141414ad",
|
||||
"stringEscape": "#b8448b",
|
||||
"stringEscape": "#131313",
|
||||
"keywordImport": "#b3003f",
|
||||
"storageModifier": "#b3003f",
|
||||
"functionCall": "#141414ad",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#141414ad",
|
||||
"variableOther": "#141414",
|
||||
"variableGlobal": "#b8448b",
|
||||
"variableLocal": "#141414ad",
|
||||
"variableLocal": "#141414",
|
||||
"parameter": "#141414",
|
||||
"constant": "#b8448b",
|
||||
"class": "#206595",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#206595",
|
||||
"enum": "#206595",
|
||||
"typeParameter": "#206595",
|
||||
"namespace": "#b3003f",
|
||||
"namespace": "#206595",
|
||||
"module": "#b3003f",
|
||||
"tag": "#b3003f",
|
||||
"jsxTag": "#b3003f",
|
||||
"tagAttribute": "#141414ad",
|
||||
"tagAttributeValue": "#9e94d5",
|
||||
"boolean": "#db704b",
|
||||
"boolean": "#b8448b",
|
||||
"decorator": "#b3003f",
|
||||
"label": "#b3003f",
|
||||
"label": "#141414ad",
|
||||
"punctuation": "#141414",
|
||||
"macro": "#b3003f",
|
||||
"preprocessor": "#b3003f",
|
||||
"regex": "#131313",
|
||||
"url": "#206595",
|
||||
"url": "#0e5b8b",
|
||||
"key": "#141414ad",
|
||||
"exception": "#c4174b"
|
||||
"exception": "#cf2d56"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#0c7251",
|
||||
"diffAddedBackground": "#f7fffb",
|
||||
"diffRemoved": "#ec3766",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#ecfff5",
|
||||
"diffRemoved": "#ae1945",
|
||||
"diffRemovedBackground": "#fef7f8",
|
||||
"diffModified": "#FF8C00",
|
||||
"diffModifiedBackground": "#e3e7eb",
|
||||
"diffModifiedBackground": "#f0f2f3",
|
||||
"lineNumber": "#313131",
|
||||
"lineNumberActive": "#131313"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#fcfcfc",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"icon": "#2d2d2d",
|
||||
"hover": "#e5e5e5"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#141414ad",
|
||||
"border": "#c3c3c3",
|
||||
"icon": "#c5c5c5",
|
||||
"hover": "#e5e5e5",
|
||||
"active": "#daedfd",
|
||||
"accent": "#6f9ba6",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#fcfcfc",
|
||||
"userMessage": "#131313",
|
||||
"userMessageBackground": "#eeeeee",
|
||||
"assistantMessage": "#131313",
|
||||
"assistantMessageBackground": "#fcfcfc",
|
||||
"timestamp": "#313131",
|
||||
"divider": "#dfdfdf",
|
||||
"typing": "#141414ad"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#206595",
|
||||
"heading2": "#206595",
|
||||
"heading3": "#131313",
|
||||
"heading3": "#050505",
|
||||
"heading4": "#131313",
|
||||
"link": "#206595",
|
||||
"linkHover": "#141414ad",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#eeeeee",
|
||||
"blockquote": "#141414ad",
|
||||
"blockquoteBorder": "#c3c3c3",
|
||||
"listMarker": "#14141499"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#131313",
|
||||
"userMessageBackground": "#daedfd",
|
||||
"assistantMessage": "#131313",
|
||||
"assistantMessageBackground": "#fcfcfc",
|
||||
"timestamp": "#141414ad",
|
||||
"divider": "#c3c3c3"
|
||||
"listMarker": "#14141499",
|
||||
"bold": "#141414",
|
||||
"italic": "#141414",
|
||||
"strikethrough": "#141414ad",
|
||||
"hr": "#141414ad"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#eeeeee80",
|
||||
"border": "#c3c3c3b3",
|
||||
"headerHover": "#e5e5e580",
|
||||
"icon": "#141414ad",
|
||||
"background": "#eeeeee",
|
||||
"border": "#dfdfdf",
|
||||
"headerHover": "#e5e5e5",
|
||||
"icon": "#c5c5c5",
|
||||
"title": "#131313",
|
||||
"description": "#141414ad",
|
||||
"edit": {
|
||||
"added": "#0c7251",
|
||||
"addedBackground": "#f7fffb",
|
||||
"addedBackground": "#ecfff5",
|
||||
"removed": "#ec3766",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fef7f8",
|
||||
"modified": "#FF8C00",
|
||||
"modifiedBackground": "#f0f2f3",
|
||||
"lineNumber": "#313131"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"info": "#3c7cab",
|
||||
"warning": "#db704b",
|
||||
"error": "#cf2d56"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"info": "#3c7cab",
|
||||
"warning": "#db704b",
|
||||
"error": "#cf2d56"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#fcfcfc",
|
||||
"inputForeground": "#131313",
|
||||
"inputBorder": "#dfdfdf",
|
||||
"inputBorderHover": "#d1d1d1",
|
||||
"inputBorderFocus": "#12659a",
|
||||
"inputPlaceholder": "#313131",
|
||||
"inputDisabled": "#eaeaea",
|
||||
"inputSelection": "#daedfd",
|
||||
"label": "#141414ad",
|
||||
"helperText": "#313131"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#6f9ba6",
|
||||
"fg": "#000000",
|
||||
"border": "#88c9fd",
|
||||
"hover": "#5992a0",
|
||||
"active": "#12659a",
|
||||
"disabled": "#cdcdcd"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f5f5f5",
|
||||
"fg": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"hover": "#eeeeee",
|
||||
"active": "#e5e5e5",
|
||||
"disabled": "#eaeaea"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#131313",
|
||||
"border": "#00000000",
|
||||
"hover": "#eeeeee",
|
||||
"active": "#e5e5e5",
|
||||
"disabled": "#313131"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#cf2d56",
|
||||
"fg": "#ffffff",
|
||||
"border": "#fba6af",
|
||||
"hover": "#fdd4d8",
|
||||
"active": "#d61853",
|
||||
"disabled": "#eaeaea"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"overlay": "#fcfcfc3d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"inputBackground": "#fcfcfc",
|
||||
"selectedBackground": "#daedfd",
|
||||
"selectedForeground": "#131313",
|
||||
"muted": "#141414ad"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#eeeeee",
|
||||
"foreground": "#131313",
|
||||
"border": "#dfdfdf",
|
||||
"icon": "#c5c5c5",
|
||||
"removeHover": "#fee2e4"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#fcfcfc",
|
||||
"foreground": "#131313",
|
||||
"mutedForeground": "#141414ad",
|
||||
"border": "#e9e9e9",
|
||||
"hover": "#e5e5e5",
|
||||
"active": "#daedfd"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"selectedBackground": "#daedfd",
|
||||
"selectedForeground": "#131313"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"allow": "#1f8a65",
|
||||
"allowBackground": "#bbfadd",
|
||||
"deny": "#cf2d56",
|
||||
"denyBackground": "#fee2e4"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#6f9ba6",
|
||||
"spinnerTrack": "#e5e5e5",
|
||||
"skeleton": "#eeeeee",
|
||||
"shimmer": "#e5e5e5"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#13131326",
|
||||
"thumbHover": "#13131340"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#eeeeee",
|
||||
"fg": "#131313",
|
||||
"border": "#dfdfdf"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#d8edfe",
|
||||
"fg": "#3c7cab",
|
||||
"border": "#8ac9fa"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#bbfadd",
|
||||
"fg": "#1f8a65",
|
||||
"border": "#6fdaad"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#fde4db",
|
||||
"fg": "#db704b",
|
||||
"border": "#faab90"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fee2e4",
|
||||
"fg": "#cf2d56",
|
||||
"border": "#fba6af"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f5f5f5",
|
||||
"foreground": "#131313",
|
||||
"border": "#c3c3c3",
|
||||
"success": {
|
||||
"background": "#bbfadd",
|
||||
"foreground": "#1f8a65",
|
||||
"border": "#6fdaad"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#fde4db",
|
||||
"foreground": "#db704b",
|
||||
"border": "#faab90"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fee2e4",
|
||||
"foreground": "#cf2d56",
|
||||
"border": "#fba6af"
|
||||
},
|
||||
"info": {
|
||||
"background": "#d8edfe",
|
||||
"foreground": "#3c7cab",
|
||||
"border": "#8ac9fa"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#141414ad",
|
||||
"title": "#131313",
|
||||
"description": "#141414ad",
|
||||
"border": "#e9e9e9"
|
||||
},
|
||||
"table": {
|
||||
"border": "#e9e9e9",
|
||||
"headerBackground": "#f5f5f5",
|
||||
"headerForeground": "#131313",
|
||||
"rowHover": "#e5e5e5",
|
||||
"rowSelected": "#daedfd"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#6f9ba6",
|
||||
"#3c7cab",
|
||||
"#1f8a65",
|
||||
"#db704b",
|
||||
"#cf2d56"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#12659a",
|
||||
"selection": "#daedfd",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #20659540"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "github-dark",
|
||||
"name": "GitHub",
|
||||
"description": "Port of OpenCode GitHub theme (dark variant)",
|
||||
"description": "Ported from OpenCode GitHub theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"github"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#197de0",
|
||||
"base": "#58a6ff",
|
||||
"hover": "#238cf5",
|
||||
"active": "#238cf5",
|
||||
"active": "#197de0",
|
||||
"foreground": "#000000",
|
||||
"muted": "#197de080",
|
||||
"emphasis": "#238cf5"
|
||||
"muted": "#58a6ff80",
|
||||
"emphasis": "#b7d7fd"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#05080e",
|
||||
"foreground": "#ccd4dc",
|
||||
"muted": "#12151b",
|
||||
"muted": "#0a0e14",
|
||||
"mutedForeground": "#8b949e",
|
||||
"elevated": "#0c0f16",
|
||||
"elevatedForeground": "#ccd4dc",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#05080ecc",
|
||||
"subtle": "#181c22"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#393d44",
|
||||
"borderHover": "#41454c",
|
||||
"borderFocus": "#09427a",
|
||||
"selection": "#032f5a",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#09427a",
|
||||
"focusRing": "#09427a59",
|
||||
"cursor": "#ccd4dc",
|
||||
"hover": "#181c22",
|
||||
"active": "#181c22"
|
||||
"borderFocus": "#197de0",
|
||||
"selection": "#ccd4dc1f",
|
||||
"selectionForeground": "#ccd4dc",
|
||||
"focus": "#197de0",
|
||||
"focusRing": "#197de061",
|
||||
"cursor": "#fafbfc",
|
||||
"hover": "#ccd4dc17",
|
||||
"active": "#ccd4dc1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#d01d21",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#f85149",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#5e0206",
|
||||
"errorBorder": "#7e080d",
|
||||
"warning": "#b37002",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#e3b341",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#3c2c02",
|
||||
"warningBorder": "#533e07",
|
||||
"success": "#1a9132",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#3fb950",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#063a10",
|
||||
"successBorder": "#0f501a",
|
||||
"info": "#a27516",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#d29922",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#3f2b02",
|
||||
"infoBorder": "#563d07"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#1a9132",
|
||||
"open": "#3fb950",
|
||||
"draft": "#8b949e",
|
||||
"blocked": "#b37002",
|
||||
"merged": "#ff7b72",
|
||||
"closed": "#d01d21"
|
||||
"blocked": "#e3b341",
|
||||
"merged": "#58a6ff",
|
||||
"closed": "#f85149"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#12151b",
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"comment": "#8b949e",
|
||||
"keyword": "#ff7b72",
|
||||
"string": "#39c5cf",
|
||||
"number": "#bc8cff",
|
||||
"number": "#58a6ff",
|
||||
"function": "#39c5cf",
|
||||
"variable": "#d29922",
|
||||
"type": "#d29922",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#8b949e",
|
||||
"stringEscape": "#58a6ff",
|
||||
"stringEscape": "#ccd4dc",
|
||||
"keywordImport": "#ff7b72",
|
||||
"storageModifier": "#ff7b72",
|
||||
"functionCall": "#39c5cf",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#39c5cf",
|
||||
"variableOther": "#d29922",
|
||||
"variableGlobal": "#58a6ff",
|
||||
"variableLocal": "#8b949e",
|
||||
"variableLocal": "#c9d1d9",
|
||||
"parameter": "#d29922",
|
||||
"constant": "#58a6ff",
|
||||
"class": "#d29922",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#d29922",
|
||||
"enum": "#d29922",
|
||||
"typeParameter": "#d29922",
|
||||
"namespace": "#ff7b72",
|
||||
"namespace": "#d29922",
|
||||
"module": "#ff7b72",
|
||||
"tag": "#ff7b72",
|
||||
"jsxTag": "#ff7b72",
|
||||
"tagAttribute": "#39c5cf",
|
||||
"tagAttributeValue": "#39c5cf",
|
||||
"boolean": "#bc8cff",
|
||||
"boolean": "#58a6ff",
|
||||
"decorator": "#ff7b72",
|
||||
"label": "#ff7b72",
|
||||
"label": "#39c5cf",
|
||||
"punctuation": "#c9d1d9",
|
||||
"macro": "#ff7b72",
|
||||
"preprocessor": "#ff7b72",
|
||||
"regex": "#ccd4dc",
|
||||
"url": "#58a6ff",
|
||||
"url": "#b7d7fd",
|
||||
"key": "#39c5cf",
|
||||
"exception": "#d01d21"
|
||||
"exception": "#f85149"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#6af679",
|
||||
"diffAddedBackground": "#011403",
|
||||
"diffRemoved": "#f5031c",
|
||||
"diffRemovedBackground": "#240202",
|
||||
"diffAddedBackground": "#001d03",
|
||||
"diffRemoved": "#fec3bb",
|
||||
"diffRemovedBackground": "#330001",
|
||||
"diffModified": "#fdda8e",
|
||||
"diffModifiedBackground": "#1b2432",
|
||||
"diffModifiedBackground": "#0f151e",
|
||||
"lineNumber": "#6a7077",
|
||||
"lineNumberActive": "#ccd4dc"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#05080e",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"icon": "#7b828a",
|
||||
"hover": "#181c22"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#0a0e14",
|
||||
"foreground": "#8b949e",
|
||||
"border": "#393d44",
|
||||
"icon": "#1a1f26",
|
||||
"hover": "#181c22",
|
||||
"active": "#032f5a",
|
||||
"accent": "#58a6ff",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#05080e",
|
||||
"userMessage": "#ccd4dc",
|
||||
"userMessageBackground": "#12151b",
|
||||
"assistantMessage": "#ccd4dc",
|
||||
"assistantMessageBackground": "#05080e",
|
||||
"timestamp": "#6a7077",
|
||||
"divider": "#292d33",
|
||||
"typing": "#8b949e"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#58a6ff",
|
||||
"heading2": "#58a6ff",
|
||||
"heading3": "#ccd4dc",
|
||||
"heading3": "#fafbfc",
|
||||
"heading4": "#ccd4dc",
|
||||
"link": "#58a6ff",
|
||||
"linkHover": "#39c5cf",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#12151b",
|
||||
"blockquote": "#8b949e",
|
||||
"blockquoteBorder": "#393d44",
|
||||
"listMarker": "#58a6ff99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#ccd4dc",
|
||||
"userMessageBackground": "#032f5a",
|
||||
"assistantMessage": "#ccd4dc",
|
||||
"assistantMessageBackground": "#05080e",
|
||||
"timestamp": "#8b949e",
|
||||
"divider": "#393d44"
|
||||
"listMarker": "#58a6ff99",
|
||||
"bold": "#d29922",
|
||||
"italic": "#e3b341",
|
||||
"strikethrough": "#8b949e",
|
||||
"hr": "#30363d"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#12151b80",
|
||||
"border": "#393d44b3",
|
||||
"headerHover": "#181c2280",
|
||||
"icon": "#8b949e",
|
||||
"background": "#12151b",
|
||||
"border": "#292d33",
|
||||
"headerHover": "#181c22",
|
||||
"icon": "#1a1f26",
|
||||
"title": "#ccd4dc",
|
||||
"description": "#8b949e",
|
||||
"edit": {
|
||||
"added": "#6af679",
|
||||
"addedBackground": "#011403",
|
||||
"addedBackground": "#001d03",
|
||||
"removed": "#f5031c",
|
||||
"removedBackground": "#240202",
|
||||
"removedBackground": "#330001",
|
||||
"modified": "#fdda8e",
|
||||
"modifiedBackground": "#0f151e",
|
||||
"lineNumber": "#6a7077"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"info": "#d29922",
|
||||
"warning": "#e3b341",
|
||||
"error": "#f85149"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"info": "#d29922",
|
||||
"warning": "#e3b341",
|
||||
"error": "#f85149"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#070b11",
|
||||
"inputForeground": "#ccd4dc",
|
||||
"inputBorder": "#292d33",
|
||||
"inputBorderHover": "#31353b",
|
||||
"inputBorderFocus": "#197de0",
|
||||
"inputPlaceholder": "#6a7077",
|
||||
"inputDisabled": "#0d1218",
|
||||
"inputSelection": "#145ba2",
|
||||
"label": "#8b949e",
|
||||
"helperText": "#6a7077"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#58a6ff",
|
||||
"fg": "#000000",
|
||||
"border": "#09427a",
|
||||
"hover": "#238cf5",
|
||||
"active": "#197de0",
|
||||
"disabled": "#31353b"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#0c0f16",
|
||||
"fg": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"hover": "#12151b",
|
||||
"active": "#181c22",
|
||||
"disabled": "#0d1218"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#ccd4dc",
|
||||
"border": "#00000000",
|
||||
"hover": "#12151b",
|
||||
"active": "#181c22",
|
||||
"disabled": "#6a7077"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#f85149",
|
||||
"fg": "#151313",
|
||||
"border": "#7e080d",
|
||||
"hover": "#7e080d",
|
||||
"active": "#d01d21",
|
||||
"disabled": "#0d1218"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"overlay": "#05080ed6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"inputBackground": "#070b11",
|
||||
"selectedBackground": "#032f5a",
|
||||
"selectedForeground": "#ccd4dc",
|
||||
"muted": "#8b949e"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#12151b",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#292d33",
|
||||
"icon": "#1a1f26",
|
||||
"removeHover": "#5e0206"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#05080e",
|
||||
"foreground": "#ccd4dc",
|
||||
"mutedForeground": "#8b949e",
|
||||
"border": "#21252b",
|
||||
"hover": "#181c22",
|
||||
"active": "#032f5a"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"selectedBackground": "#032f5a",
|
||||
"selectedForeground": "#ccd4dc"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"allow": "#3fb950",
|
||||
"allowBackground": "#063a10",
|
||||
"deny": "#f85149",
|
||||
"denyBackground": "#5e0206"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#58a6ff",
|
||||
"spinnerTrack": "#181c22",
|
||||
"skeleton": "#12151b",
|
||||
"shimmer": "#181c22"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#ccd4dc33",
|
||||
"thumbHover": "#ccd4dc57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#12151b",
|
||||
"fg": "#ccd4dc",
|
||||
"border": "#292d33"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#3f2b02",
|
||||
"fg": "#d29922",
|
||||
"border": "#563d07"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#063a10",
|
||||
"fg": "#3fb950",
|
||||
"border": "#0f501a"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#3c2c02",
|
||||
"fg": "#e3b341",
|
||||
"border": "#533e07"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5e0206",
|
||||
"fg": "#f85149",
|
||||
"border": "#7e080d"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#0c0f16",
|
||||
"foreground": "#ccd4dc",
|
||||
"border": "#393d44",
|
||||
"success": {
|
||||
"background": "#063a10",
|
||||
"foreground": "#3fb950",
|
||||
"border": "#0f501a"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#3c2c02",
|
||||
"foreground": "#e3b341",
|
||||
"border": "#533e07"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5e0206",
|
||||
"foreground": "#f85149",
|
||||
"border": "#7e080d"
|
||||
},
|
||||
"info": {
|
||||
"background": "#3f2b02",
|
||||
"foreground": "#d29922",
|
||||
"border": "#563d07"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#8b949e",
|
||||
"title": "#ccd4dc",
|
||||
"description": "#8b949e",
|
||||
"border": "#21252b"
|
||||
},
|
||||
"table": {
|
||||
"border": "#21252b",
|
||||
"headerBackground": "#0c0f16",
|
||||
"headerForeground": "#ccd4dc",
|
||||
"rowHover": "#181c22",
|
||||
"rowSelected": "#032f5a"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#58a6ff",
|
||||
"#d29922",
|
||||
"#3fb950",
|
||||
"#e3b341",
|
||||
"#f85149"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#197de0",
|
||||
"selection": "#032f5a",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #58a6ff59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "github-light",
|
||||
"name": "GitHub",
|
||||
"description": "Port of OpenCode GitHub theme (light variant)",
|
||||
"description": "Ported from OpenCode GitHub theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"github"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#0d69d9",
|
||||
"base": "#0969da",
|
||||
"hover": "#0c5fc5",
|
||||
"active": "#0c5fc5",
|
||||
"active": "#0d69d9",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#0d69d980",
|
||||
"muted": "#0969da80",
|
||||
"emphasis": "#0c5fc5"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#1e2329",
|
||||
"muted": "#f2f3f3",
|
||||
"muted": "#f5f5f4",
|
||||
"mutedForeground": "#57606a",
|
||||
"elevated": "#f9f9f9",
|
||||
"elevatedForeground": "#1e2329",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#ffffff33",
|
||||
"subtle": "#eaeaeb"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#cacbcc",
|
||||
"borderHover": "#bcbec0",
|
||||
"borderFocus": "#9dc3fb",
|
||||
"selection": "#deebfe",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#9dc3fb",
|
||||
"focusRing": "#9dc3fb47",
|
||||
"cursor": "#1e2329",
|
||||
"hover": "#eaeaeb",
|
||||
"active": "#eaeaeb"
|
||||
"borderFocus": "#0d69d9",
|
||||
"selection": "#1e232916",
|
||||
"selectionForeground": "#1e2329",
|
||||
"focus": "#0d69d9",
|
||||
"focusRing": "#0d69d947",
|
||||
"cursor": "#0e1319",
|
||||
"hover": "#1e23290e",
|
||||
"active": "#1e232916"
|
||||
},
|
||||
"status": {
|
||||
"error": "#bc212b",
|
||||
"errorForeground": "#000000",
|
||||
"error": "#cf222e",
|
||||
"errorForeground": "#ffffff",
|
||||
"errorBackground": "#ffe2df",
|
||||
"errorBorder": "#ffa69f",
|
||||
"warning": "#feab76",
|
||||
"warningForeground": "#000000",
|
||||
"warning": "#9a6700",
|
||||
"warningForeground": "#ffffff",
|
||||
"warningBackground": "#ffe6c4",
|
||||
"warningBorder": "#f1b55c",
|
||||
"success": "#76dc88",
|
||||
"successForeground": "#000000",
|
||||
"success": "#1a7f37",
|
||||
"successForeground": "#ffffff",
|
||||
"successBackground": "#bffcc6",
|
||||
"successBorder": "#76dc88",
|
||||
"info": "#ffa983",
|
||||
"infoForeground": "#000000",
|
||||
"info": "#bc4c00",
|
||||
"infoForeground": "#ffffff",
|
||||
"infoBackground": "#ffe3d8",
|
||||
"infoBorder": "#ffa983"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#76dc88",
|
||||
"open": "#1a7f37",
|
||||
"draft": "#57606a",
|
||||
"blocked": "#feab76",
|
||||
"merged": "#cf222e",
|
||||
"closed": "#bc212b"
|
||||
"blocked": "#9a6700",
|
||||
"merged": "#1b7c83",
|
||||
"closed": "#cf222e"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#f2f3f3",
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"comment": "#57606a",
|
||||
"keyword": "#cf222e",
|
||||
"string": "#0969da",
|
||||
"number": "#8250df",
|
||||
"number": "#1b7c83",
|
||||
"function": "#1b7c83",
|
||||
"variable": "#bc4c00",
|
||||
"type": "#bc4c00",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#57606a",
|
||||
"stringEscape": "#1b7c83",
|
||||
"stringEscape": "#1e2329",
|
||||
"keywordImport": "#cf222e",
|
||||
"storageModifier": "#cf222e",
|
||||
"functionCall": "#1b7c83",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#1b7c83",
|
||||
"variableOther": "#bc4c00",
|
||||
"variableGlobal": "#1b7c83",
|
||||
"variableLocal": "#57606a",
|
||||
"variableLocal": "#24292f",
|
||||
"parameter": "#bc4c00",
|
||||
"constant": "#1b7c83",
|
||||
"class": "#bc4c00",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#bc4c00",
|
||||
"enum": "#bc4c00",
|
||||
"typeParameter": "#bc4c00",
|
||||
"namespace": "#cf222e",
|
||||
"namespace": "#bc4c00",
|
||||
"module": "#cf222e",
|
||||
"tag": "#cf222e",
|
||||
"jsxTag": "#cf222e",
|
||||
"tagAttribute": "#1b7c83",
|
||||
"tagAttributeValue": "#0969da",
|
||||
"boolean": "#8250df",
|
||||
"boolean": "#1b7c83",
|
||||
"decorator": "#cf222e",
|
||||
"label": "#cf222e",
|
||||
"label": "#1b7c83",
|
||||
"punctuation": "#24292f",
|
||||
"macro": "#cf222e",
|
||||
"preprocessor": "#cf222e",
|
||||
"regex": "#1e2329",
|
||||
"url": "#0969da",
|
||||
"url": "#0c5fc5",
|
||||
"key": "#1b7c83",
|
||||
"exception": "#bc212b"
|
||||
"exception": "#cf222e"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#396e42",
|
||||
"diffAddedBackground": "#f9fff9",
|
||||
"diffRemoved": "#d54645",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#f2fdf3",
|
||||
"diffRemoved": "#ab272b",
|
||||
"diffRemovedBackground": "#fff7f7",
|
||||
"diffModified": "#785105",
|
||||
"diffModifiedBackground": "#e6ecf4",
|
||||
"diffModifiedBackground": "#f3f5f9",
|
||||
"lineNumber": "#7b828a",
|
||||
"lineNumberActive": "#1e2329"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"icon": "#3a3f44",
|
||||
"hover": "#eaeaeb"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f5f5f4",
|
||||
"foreground": "#57606a",
|
||||
"border": "#cacbcc",
|
||||
"icon": "#cdcecc",
|
||||
"hover": "#eaeaeb",
|
||||
"active": "#deebfe",
|
||||
"accent": "#0969da",
|
||||
"accentForeground": "#ffffff"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#ffffff",
|
||||
"userMessage": "#1e2329",
|
||||
"userMessageBackground": "#f2f3f3",
|
||||
"assistantMessage": "#1e2329",
|
||||
"assistantMessageBackground": "#ffffff",
|
||||
"timestamp": "#7b828a",
|
||||
"divider": "#e4e4e5",
|
||||
"typing": "#57606a"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#0969da",
|
||||
"heading2": "#0969da",
|
||||
"heading3": "#1e2329",
|
||||
"heading3": "#0e1319",
|
||||
"heading4": "#1e2329",
|
||||
"link": "#0969da",
|
||||
"linkHover": "#1b7c83",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#f2f3f3",
|
||||
"blockquote": "#57606a",
|
||||
"blockquoteBorder": "#cacbcc",
|
||||
"listMarker": "#0969da99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#1e2329",
|
||||
"userMessageBackground": "#deebfe",
|
||||
"assistantMessage": "#1e2329",
|
||||
"assistantMessageBackground": "#ffffff",
|
||||
"timestamp": "#57606a",
|
||||
"divider": "#cacbcc"
|
||||
"listMarker": "#0969da99",
|
||||
"bold": "#bc4c00",
|
||||
"italic": "#9a6700",
|
||||
"strikethrough": "#57606a",
|
||||
"hr": "#d0d7de"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f2f3f380",
|
||||
"border": "#cacbccb3",
|
||||
"headerHover": "#eaeaeb80",
|
||||
"icon": "#57606a",
|
||||
"background": "#f2f3f3",
|
||||
"border": "#e4e4e5",
|
||||
"headerHover": "#eaeaeb",
|
||||
"icon": "#cdcecc",
|
||||
"title": "#1e2329",
|
||||
"description": "#57606a",
|
||||
"edit": {
|
||||
"added": "#396e42",
|
||||
"addedBackground": "#f9fff9",
|
||||
"addedBackground": "#f2fdf3",
|
||||
"removed": "#d54645",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fff7f7",
|
||||
"modified": "#785105",
|
||||
"modifiedBackground": "#f3f5f9",
|
||||
"lineNumber": "#7b828a"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"info": "#bc4c00",
|
||||
"warning": "#9a6700",
|
||||
"error": "#cf222e"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"info": "#bc4c00",
|
||||
"warning": "#9a6700",
|
||||
"error": "#cf222e"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#ffffff",
|
||||
"inputForeground": "#1e2329",
|
||||
"inputBorder": "#e4e4e5",
|
||||
"inputBorderHover": "#d7d8d9",
|
||||
"inputBorderFocus": "#0d69d9",
|
||||
"inputPlaceholder": "#7b828a",
|
||||
"inputDisabled": "#efefee",
|
||||
"inputSelection": "#deebfe",
|
||||
"label": "#57606a",
|
||||
"helperText": "#7b828a"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#0969da",
|
||||
"fg": "#ffffff",
|
||||
"border": "#9dc3fb",
|
||||
"hover": "#0c5fc5",
|
||||
"active": "#0d69d9",
|
||||
"disabled": "#d2d3d5"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f9f9f9",
|
||||
"fg": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"hover": "#f2f3f3",
|
||||
"active": "#eaeaeb",
|
||||
"disabled": "#efefee"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#1e2329",
|
||||
"border": "#00000000",
|
||||
"hover": "#f2f3f3",
|
||||
"active": "#eaeaeb",
|
||||
"disabled": "#7b828a"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#cf222e",
|
||||
"fg": "#ffffff",
|
||||
"border": "#ffa69f",
|
||||
"hover": "#fcd5d2",
|
||||
"active": "#ce252f",
|
||||
"disabled": "#efefee"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"overlay": "#ffffff3d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"inputBackground": "#ffffff",
|
||||
"selectedBackground": "#deebfe",
|
||||
"selectedForeground": "#1e2329",
|
||||
"muted": "#57606a"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#f2f3f3",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#e4e4e5",
|
||||
"icon": "#cdcecc",
|
||||
"removeHover": "#ffe2df"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#1e2329",
|
||||
"mutedForeground": "#57606a",
|
||||
"border": "#ededee",
|
||||
"hover": "#eaeaeb",
|
||||
"active": "#deebfe"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"selectedBackground": "#deebfe",
|
||||
"selectedForeground": "#1e2329"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"allow": "#1a7f37",
|
||||
"allowBackground": "#bffcc6",
|
||||
"deny": "#cf222e",
|
||||
"denyBackground": "#ffe2df"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#0969da",
|
||||
"spinnerTrack": "#eaeaeb",
|
||||
"skeleton": "#f2f3f3",
|
||||
"shimmer": "#eaeaeb"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#1e232926",
|
||||
"thumbHover": "#1e232940"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#f2f3f3",
|
||||
"fg": "#1e2329",
|
||||
"border": "#e4e4e5"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#ffe3d8",
|
||||
"fg": "#bc4c00",
|
||||
"border": "#ffa983"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#bffcc6",
|
||||
"fg": "#1a7f37",
|
||||
"border": "#76dc88"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#ffe6c4",
|
||||
"fg": "#9a6700",
|
||||
"border": "#f1b55c"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#ffe2df",
|
||||
"fg": "#cf222e",
|
||||
"border": "#ffa69f"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f9f9f9",
|
||||
"foreground": "#1e2329",
|
||||
"border": "#cacbcc",
|
||||
"success": {
|
||||
"background": "#bffcc6",
|
||||
"foreground": "#1a7f37",
|
||||
"border": "#76dc88"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#ffe6c4",
|
||||
"foreground": "#9a6700",
|
||||
"border": "#f1b55c"
|
||||
},
|
||||
"error": {
|
||||
"background": "#ffe2df",
|
||||
"foreground": "#cf222e",
|
||||
"border": "#ffa69f"
|
||||
},
|
||||
"info": {
|
||||
"background": "#ffe3d8",
|
||||
"foreground": "#bc4c00",
|
||||
"border": "#ffa983"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#57606a",
|
||||
"title": "#1e2329",
|
||||
"description": "#57606a",
|
||||
"border": "#ededee"
|
||||
},
|
||||
"table": {
|
||||
"border": "#ededee",
|
||||
"headerBackground": "#f9f9f9",
|
||||
"headerForeground": "#1e2329",
|
||||
"rowHover": "#eaeaeb",
|
||||
"rowSelected": "#deebfe"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#0969da",
|
||||
"#bc4c00",
|
||||
"#1a7f37",
|
||||
"#9a6700",
|
||||
"#cf222e"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#0d69d9",
|
||||
"selection": "#deebfe",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #0969da40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -3,14 +3,26 @@ import { presetThemes } from './presets';
|
||||
import { withPrColors } from './prColors';
|
||||
import flexokiLightRaw from './flexoki-light.json';
|
||||
import flexokiDarkRaw from './flexoki-dark.json';
|
||||
import openchamberLightRaw from './openchamber-light.json';
|
||||
import openchamberDarkRaw from './openchamber-dark.json';
|
||||
|
||||
export const flexokiLightTheme = withPrColors(flexokiLightRaw as Theme);
|
||||
export const flexokiDarkTheme = withPrColors(flexokiDarkRaw as Theme);
|
||||
export const openchamberLightTheme = withPrColors(openchamberLightRaw as Theme);
|
||||
export const openchamberDarkTheme = withPrColors(openchamberDarkRaw as Theme);
|
||||
|
||||
export const DEFAULT_LIGHT_THEME_ID = 'flexoki-light' as const;
|
||||
export const DEFAULT_DARK_THEME_ID = 'flexoki-dark' as const;
|
||||
export const DEFAULT_LIGHT_THEME_ID = 'openchamber-light' as const;
|
||||
export const DEFAULT_DARK_THEME_ID = 'openchamber-dark' as const;
|
||||
|
||||
export const themes: Theme[] = [flexokiLightTheme, flexokiDarkTheme, ...presetThemes];
|
||||
export const themes: Theme[] = [
|
||||
openchamberLightTheme,
|
||||
openchamberDarkTheme,
|
||||
flexokiLightTheme,
|
||||
flexokiDarkTheme,
|
||||
...presetThemes.filter(
|
||||
(theme) => theme.metadata.id !== 'openchamber-light' && theme.metadata.id !== 'openchamber-dark',
|
||||
),
|
||||
];
|
||||
|
||||
export function getThemeById(id: string): Theme | undefined {
|
||||
// Back-compat for a short-lived rename.
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "lucent-orng-dark",
|
||||
"name": "Lucent Orng",
|
||||
"description": "Port of OpenCode Lucent Orng theme (dark variant)",
|
||||
"description": "Ported from OpenCode Lucent Orng theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"lucent-orng"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#be3c07",
|
||||
"base": "#EC5B2B",
|
||||
"hover": "#da4f1f",
|
||||
"active": "#da4f1f",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#be3c0780",
|
||||
"emphasis": "#da4f1f"
|
||||
"active": "#be3c07",
|
||||
"foreground": "#151313",
|
||||
"muted": "#EC5B2B80",
|
||||
"emphasis": "#fdc4b3"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#1a0c08",
|
||||
"foreground": "#eeeeee",
|
||||
"muted": "#281b17",
|
||||
"muted": "#21130e",
|
||||
"mutedForeground": "#808080",
|
||||
"elevated": "#221411",
|
||||
"elevatedForeground": "#eeeeee",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#1a0c08cc",
|
||||
"subtle": "#2f221f"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#524845",
|
||||
"borderHover": "#5a514e",
|
||||
"borderFocus": "#752101",
|
||||
"selection": "#531906",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#752101",
|
||||
"focusRing": "#75210159",
|
||||
"cursor": "#eeeeee",
|
||||
"hover": "#2f221f",
|
||||
"active": "#2f221f"
|
||||
"borderFocus": "#be3c07",
|
||||
"selection": "#eeeeee1f",
|
||||
"selectionForeground": "#eeeeee",
|
||||
"focus": "#be3c07",
|
||||
"focusRing": "#be3c0761",
|
||||
"cursor": "#fdfdfd",
|
||||
"hover": "#eeeeee17",
|
||||
"active": "#eeeeee1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#ce2245",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#e06c75",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#5c0318",
|
||||
"errorBorder": "#7c0a25",
|
||||
"warning": "#c51d33",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#EC5B2B",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#531906",
|
||||
"warningBorder": "#752101",
|
||||
"success": "#1277e2",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#6ba1e6",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#042e5d",
|
||||
"successBorder": "#09417d",
|
||||
"info": "#228f9b",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#56b6c2",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#05363b",
|
||||
"infoBorder": "#0d4b51"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#1277e2",
|
||||
"open": "#6ba1e6",
|
||||
"draft": "#808080",
|
||||
"blocked": "#c51d33",
|
||||
"merged": "#EC5B2B",
|
||||
"closed": "#ce2245"
|
||||
"blocked": "#EC5B2B",
|
||||
"merged": "#FFF7F1",
|
||||
"closed": "#e06c75"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#281b17",
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"comment": "#808080",
|
||||
"keyword": "#EC5B2B",
|
||||
"string": "#6ba1e6",
|
||||
"number": "#EE7948",
|
||||
"number": "#FFF7F1",
|
||||
"function": "#56b6c2",
|
||||
"variable": "#e06c75",
|
||||
"type": "#e5c07b",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#808080",
|
||||
"stringEscape": "#FFF7F1",
|
||||
"stringEscape": "#eeeeee",
|
||||
"keywordImport": "#EC5B2B",
|
||||
"storageModifier": "#EC5B2B",
|
||||
"functionCall": "#56b6c2",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#56b6c2",
|
||||
"variableOther": "#e06c75",
|
||||
"variableGlobal": "#FFF7F1",
|
||||
"variableLocal": "#808080",
|
||||
"variableLocal": "#eeeeee",
|
||||
"parameter": "#e06c75",
|
||||
"constant": "#FFF7F1",
|
||||
"class": "#e5c07b",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#e5c07b",
|
||||
"enum": "#e5c07b",
|
||||
"typeParameter": "#e5c07b",
|
||||
"namespace": "#EC5B2B",
|
||||
"namespace": "#e5c07b",
|
||||
"module": "#EC5B2B",
|
||||
"tag": "#EC5B2B",
|
||||
"jsxTag": "#EC5B2B",
|
||||
"tagAttribute": "#56b6c2",
|
||||
"tagAttributeValue": "#6ba1e6",
|
||||
"boolean": "#EE7948",
|
||||
"boolean": "#FFF7F1",
|
||||
"decorator": "#EC5B2B",
|
||||
"label": "#EC5B2B",
|
||||
"label": "#56b6c2",
|
||||
"punctuation": "#eeeeee",
|
||||
"macro": "#EC5B2B",
|
||||
"preprocessor": "#EC5B2B",
|
||||
"regex": "#eeeeee",
|
||||
"url": "#EC5B2B",
|
||||
"url": "#fdc4b3",
|
||||
"key": "#56b6c2",
|
||||
"exception": "#ce2245"
|
||||
"exception": "#e06c75"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#b8d6fe",
|
||||
"diffAddedBackground": "#010e24",
|
||||
"diffRemoved": "#e92b53",
|
||||
"diffRemovedBackground": "#230106",
|
||||
"diffAddedBackground": "#021631",
|
||||
"diffRemoved": "#fec2c4",
|
||||
"diffRemovedBackground": "#30030a",
|
||||
"diffModified": "#ffba92",
|
||||
"diffModifiedBackground": "#392018",
|
||||
"diffModifiedBackground": "#28150f",
|
||||
"lineNumber": "#5d5d5d",
|
||||
"lineNumberActive": "#eeeeee"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#1a0c08",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"icon": "#9b9691",
|
||||
"hover": "#2f221f"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#21130e",
|
||||
"foreground": "#808080",
|
||||
"border": "#524845",
|
||||
"icon": "#342721",
|
||||
"hover": "#2f221f",
|
||||
"active": "#531906",
|
||||
"accent": "#EC5B2B",
|
||||
"accentForeground": "#151313"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#1a0c08",
|
||||
"userMessage": "#eeeeee",
|
||||
"userMessageBackground": "#281b17",
|
||||
"assistantMessage": "#eeeeee",
|
||||
"assistantMessageBackground": "#1a0c08",
|
||||
"timestamp": "#5d5d5d",
|
||||
"divider": "#413632",
|
||||
"typing": "#808080"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#EC5B2B",
|
||||
"heading2": "#EC5B2B",
|
||||
"heading3": "#eeeeee",
|
||||
"heading3": "#fdfdfd",
|
||||
"heading4": "#eeeeee",
|
||||
"link": "#EC5B2B",
|
||||
"linkHover": "#56b6c2",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#281b17",
|
||||
"blockquote": "#FFF7F1",
|
||||
"blockquoteBorder": "#524845",
|
||||
"listMarker": "#EC5B2B99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#eeeeee",
|
||||
"userMessageBackground": "#531906",
|
||||
"assistantMessage": "#eeeeee",
|
||||
"assistantMessageBackground": "#1a0c08",
|
||||
"timestamp": "#808080",
|
||||
"divider": "#524845"
|
||||
"listMarker": "#EC5B2B99",
|
||||
"bold": "#EE7948",
|
||||
"italic": "#e5c07b",
|
||||
"strikethrough": "#808080",
|
||||
"hr": "#808080"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#281b1780",
|
||||
"border": "#524845b3",
|
||||
"headerHover": "#2f221f80",
|
||||
"icon": "#808080",
|
||||
"background": "#281b17",
|
||||
"border": "#413632",
|
||||
"headerHover": "#2f221f",
|
||||
"icon": "#342721",
|
||||
"title": "#eeeeee",
|
||||
"description": "#808080",
|
||||
"edit": {
|
||||
"added": "#b8d6fe",
|
||||
"addedBackground": "#010e24",
|
||||
"addedBackground": "#021631",
|
||||
"removed": "#e92b53",
|
||||
"removedBackground": "#230106",
|
||||
"removedBackground": "#30030a",
|
||||
"modified": "#ffba92",
|
||||
"modifiedBackground": "#28150f",
|
||||
"lineNumber": "#5d5d5d"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"info": "#56b6c2",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#e06c75"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"info": "#56b6c2",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#e06c75"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#1d0f0b",
|
||||
"inputForeground": "#eeeeee",
|
||||
"inputBorder": "#413632",
|
||||
"inputBorderHover": "#493f3c",
|
||||
"inputBorderFocus": "#be3c07",
|
||||
"inputPlaceholder": "#5d5d5d",
|
||||
"inputDisabled": "#251813",
|
||||
"inputSelection": "#9b3108",
|
||||
"label": "#808080",
|
||||
"helperText": "#5d5d5d"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#EC5B2B",
|
||||
"fg": "#151313",
|
||||
"border": "#752101",
|
||||
"hover": "#da4f1f",
|
||||
"active": "#be3c07",
|
||||
"disabled": "#493f3c"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#221411",
|
||||
"fg": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"hover": "#281b17",
|
||||
"active": "#2f221f",
|
||||
"disabled": "#251813"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#eeeeee",
|
||||
"border": "#00000000",
|
||||
"hover": "#281b17",
|
||||
"active": "#2f221f",
|
||||
"disabled": "#5d5d5d"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#e06c75",
|
||||
"fg": "#151313",
|
||||
"border": "#7c0a25",
|
||||
"hover": "#7c0a25",
|
||||
"active": "#ce2245",
|
||||
"disabled": "#251813"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"overlay": "#1a0c08d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"inputBackground": "#1d0f0b",
|
||||
"selectedBackground": "#531906",
|
||||
"selectedForeground": "#eeeeee",
|
||||
"muted": "#808080"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#281b17",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#413632",
|
||||
"icon": "#342721",
|
||||
"removeHover": "#5c0318"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#1a0c08",
|
||||
"foreground": "#eeeeee",
|
||||
"mutedForeground": "#808080",
|
||||
"border": "#392d29",
|
||||
"hover": "#2f221f",
|
||||
"active": "#531906"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"selectedBackground": "#531906",
|
||||
"selectedForeground": "#eeeeee"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"allow": "#6ba1e6",
|
||||
"allowBackground": "#042e5d",
|
||||
"deny": "#e06c75",
|
||||
"denyBackground": "#5c0318"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#EC5B2B",
|
||||
"spinnerTrack": "#2f221f",
|
||||
"skeleton": "#281b17",
|
||||
"shimmer": "#2f221f"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#eeeeee33",
|
||||
"thumbHover": "#eeeeee57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#281b17",
|
||||
"fg": "#eeeeee",
|
||||
"border": "#413632"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#05363b",
|
||||
"fg": "#56b6c2",
|
||||
"border": "#0d4b51"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#042e5d",
|
||||
"fg": "#6ba1e6",
|
||||
"border": "#09417d"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#531906",
|
||||
"fg": "#EC5B2B",
|
||||
"border": "#752101"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5c0318",
|
||||
"fg": "#e06c75",
|
||||
"border": "#7c0a25"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#221411",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#524845",
|
||||
"success": {
|
||||
"background": "#042e5d",
|
||||
"foreground": "#6ba1e6",
|
||||
"border": "#09417d"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#531906",
|
||||
"foreground": "#EC5B2B",
|
||||
"border": "#752101"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5c0318",
|
||||
"foreground": "#e06c75",
|
||||
"border": "#7c0a25"
|
||||
},
|
||||
"info": {
|
||||
"background": "#05363b",
|
||||
"foreground": "#56b6c2",
|
||||
"border": "#0d4b51"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#808080",
|
||||
"title": "#eeeeee",
|
||||
"description": "#808080",
|
||||
"border": "#392d29"
|
||||
},
|
||||
"table": {
|
||||
"border": "#392d29",
|
||||
"headerBackground": "#221411",
|
||||
"headerForeground": "#eeeeee",
|
||||
"rowHover": "#2f221f",
|
||||
"rowSelected": "#531906"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#EC5B2B",
|
||||
"#56b6c2",
|
||||
"#6ba1e6",
|
||||
"#EC5B2B",
|
||||
"#e06c75"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#be3c07",
|
||||
"selection": "#531906",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #EC5B2B59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "lucent-orng-light",
|
||||
"name": "Lucent Orng",
|
||||
"description": "Port of OpenCode Lucent Orng theme (light variant)",
|
||||
"description": "Ported from OpenCode Lucent Orng theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"lucent-orng"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#f45214",
|
||||
"base": "#EC5B2B",
|
||||
"hover": "#e14d17",
|
||||
"active": "#e14d17",
|
||||
"active": "#f45214",
|
||||
"foreground": "#000000",
|
||||
"muted": "#f4521480",
|
||||
"muted": "#EC5B2B80",
|
||||
"emphasis": "#e14d17"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#fef7f3",
|
||||
"foreground": "#181818",
|
||||
"muted": "#f1eae6",
|
||||
"muted": "#f3ece8",
|
||||
"mutedForeground": "#8a8a8a",
|
||||
"elevated": "#f7f1ed",
|
||||
"elevatedForeground": "#181818",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#fef7f333",
|
||||
"subtle": "#e8e2de"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#c6c1be",
|
||||
"borderHover": "#b9b4b1",
|
||||
"borderFocus": "#fea88e",
|
||||
"selection": "#ffe3da",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#fea88e",
|
||||
"focusRing": "#fea88e47",
|
||||
"cursor": "#181818",
|
||||
"hover": "#e8e2de",
|
||||
"active": "#e8e2de"
|
||||
"borderFocus": "#f45214",
|
||||
"selection": "#18181816",
|
||||
"selectionForeground": "#181818",
|
||||
"focus": "#f45214",
|
||||
"focusRing": "#f4521447",
|
||||
"cursor": "#090909",
|
||||
"hover": "#1818180e",
|
||||
"active": "#18181816"
|
||||
},
|
||||
"status": {
|
||||
"error": "#ce0727",
|
||||
"errorForeground": "#000000",
|
||||
"error": "#d1383d",
|
||||
"errorForeground": "#ffffff",
|
||||
"errorBackground": "#fde3e0",
|
||||
"errorBorder": "#faa8a3",
|
||||
"warning": "#fca6ab",
|
||||
"warning": "#EC5B2B",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#ffe3da",
|
||||
"warningBorder": "#fea88e",
|
||||
"success": "#9ec3fa",
|
||||
"successForeground": "#000000",
|
||||
"success": "#0062d1",
|
||||
"successForeground": "#ffffff",
|
||||
"successBackground": "#deebfe",
|
||||
"successBorder": "#9ec3fa",
|
||||
"info": "#77d1e1",
|
||||
"info": "#318795",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#bff5ff",
|
||||
"infoBorder": "#77d1e1"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#9ec3fa",
|
||||
"open": "#0062d1",
|
||||
"draft": "#8a8a8a",
|
||||
"blocked": "#fca6ab",
|
||||
"blocked": "#EC5B2B",
|
||||
"merged": "#EC5B2B",
|
||||
"closed": "#ce0727"
|
||||
"closed": "#d1383d"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#f1eae6",
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"comment": "#8a8a8a",
|
||||
"keyword": "#EC5B2B",
|
||||
"string": "#0062d1",
|
||||
"number": "#c94d24",
|
||||
"number": "#EC5B2B",
|
||||
"function": "#318795",
|
||||
"variable": "#d1383d",
|
||||
"type": "#b0851f",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#8a8a8a",
|
||||
"stringEscape": "#EC5B2B",
|
||||
"stringEscape": "#181818",
|
||||
"keywordImport": "#EC5B2B",
|
||||
"storageModifier": "#EC5B2B",
|
||||
"functionCall": "#318795",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#318795",
|
||||
"variableOther": "#d1383d",
|
||||
"variableGlobal": "#EC5B2B",
|
||||
"variableLocal": "#8a8a8a",
|
||||
"variableLocal": "#1a1a1a",
|
||||
"parameter": "#d1383d",
|
||||
"constant": "#EC5B2B",
|
||||
"class": "#b0851f",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#b0851f",
|
||||
"enum": "#b0851f",
|
||||
"typeParameter": "#b0851f",
|
||||
"namespace": "#EC5B2B",
|
||||
"namespace": "#b0851f",
|
||||
"module": "#EC5B2B",
|
||||
"tag": "#EC5B2B",
|
||||
"jsxTag": "#EC5B2B",
|
||||
"tagAttribute": "#318795",
|
||||
"tagAttributeValue": "#0062d1",
|
||||
"boolean": "#c94d24",
|
||||
"boolean": "#EC5B2B",
|
||||
"decorator": "#EC5B2B",
|
||||
"label": "#EC5B2B",
|
||||
"label": "#318795",
|
||||
"punctuation": "#1a1a1a",
|
||||
"macro": "#EC5B2B",
|
||||
"preprocessor": "#EC5B2B",
|
||||
"regex": "#181818",
|
||||
"url": "#EC5B2B",
|
||||
"url": "#e14d17",
|
||||
"key": "#318795",
|
||||
"exception": "#ce0727"
|
||||
"exception": "#d1383d"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#2f60a4",
|
||||
"diffAddedBackground": "#fbfdff",
|
||||
"diffRemoved": "#e9055a",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#f6faff",
|
||||
"diffRemoved": "#ae1a45",
|
||||
"diffRemovedBackground": "#fef7f8",
|
||||
"diffModified": "#FF8C00",
|
||||
"diffModifiedBackground": "#f8e8e1",
|
||||
"diffModifiedBackground": "#fbefea",
|
||||
"lineNumber": "#afafaf",
|
||||
"lineNumberActive": "#181818"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#fef7f3",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"icon": "#323232",
|
||||
"hover": "#e8e2de"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f3ece8",
|
||||
"foreground": "#8a8a8a",
|
||||
"border": "#c6c1be",
|
||||
"icon": "#c8c4c0",
|
||||
"hover": "#e8e2de",
|
||||
"active": "#ffe3da",
|
||||
"accent": "#EC5B2B",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#fef7f3",
|
||||
"userMessage": "#181818",
|
||||
"userMessageBackground": "#f1eae6",
|
||||
"assistantMessage": "#181818",
|
||||
"assistantMessageBackground": "#fef7f3",
|
||||
"timestamp": "#afafaf",
|
||||
"divider": "#e2dcd8",
|
||||
"typing": "#8a8a8a"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#EC5B2B",
|
||||
"heading2": "#EC5B2B",
|
||||
"heading3": "#181818",
|
||||
"heading3": "#090909",
|
||||
"heading4": "#181818",
|
||||
"link": "#EC5B2B",
|
||||
"linkHover": "#318795",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#f1eae6",
|
||||
"blockquote": "#b0851f",
|
||||
"blockquoteBorder": "#c6c1be",
|
||||
"listMarker": "#EC5B2B99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#181818",
|
||||
"userMessageBackground": "#ffe3da",
|
||||
"assistantMessage": "#181818",
|
||||
"assistantMessageBackground": "#fef7f3",
|
||||
"timestamp": "#8a8a8a",
|
||||
"divider": "#c6c1be"
|
||||
"listMarker": "#EC5B2B99",
|
||||
"bold": "#EC5B2B",
|
||||
"italic": "#b0851f",
|
||||
"strikethrough": "#8a8a8a",
|
||||
"hr": "#8a8a8a"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f1eae680",
|
||||
"border": "#c6c1beb3",
|
||||
"headerHover": "#e8e2de80",
|
||||
"icon": "#8a8a8a",
|
||||
"background": "#f1eae6",
|
||||
"border": "#e2dcd8",
|
||||
"headerHover": "#e8e2de",
|
||||
"icon": "#c8c4c0",
|
||||
"title": "#181818",
|
||||
"description": "#8a8a8a",
|
||||
"edit": {
|
||||
"added": "#2f60a4",
|
||||
"addedBackground": "#fbfdff",
|
||||
"addedBackground": "#f6faff",
|
||||
"removed": "#e9055a",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fef7f8",
|
||||
"modified": "#FF8C00",
|
||||
"modifiedBackground": "#fbefea",
|
||||
"lineNumber": "#afafaf"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"info": "#318795",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#d1383d"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"info": "#318795",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#d1383d"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#fef7f3",
|
||||
"inputForeground": "#181818",
|
||||
"inputBorder": "#e2dcd8",
|
||||
"inputBorderHover": "#d4cecb",
|
||||
"inputBorderFocus": "#f45214",
|
||||
"inputPlaceholder": "#afafaf",
|
||||
"inputDisabled": "#ece6e2",
|
||||
"inputSelection": "#ffe3da",
|
||||
"label": "#8a8a8a",
|
||||
"helperText": "#afafaf"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#EC5B2B",
|
||||
"fg": "#000000",
|
||||
"border": "#fea88e",
|
||||
"hover": "#e14d17",
|
||||
"active": "#f45214",
|
||||
"disabled": "#cfcac7"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f7f1ed",
|
||||
"fg": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"hover": "#f1eae6",
|
||||
"active": "#e8e2de",
|
||||
"disabled": "#ece6e2"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#181818",
|
||||
"border": "#00000000",
|
||||
"hover": "#f1eae6",
|
||||
"active": "#e8e2de",
|
||||
"disabled": "#afafaf"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#d1383d",
|
||||
"fg": "#ffffff",
|
||||
"border": "#faa8a3",
|
||||
"hover": "#fdd5d2",
|
||||
"active": "#e1032b",
|
||||
"disabled": "#ece6e2"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"overlay": "#fef7f33d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"inputBackground": "#fef7f3",
|
||||
"selectedBackground": "#ffe3da",
|
||||
"selectedForeground": "#181818",
|
||||
"muted": "#8a8a8a"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#f1eae6",
|
||||
"foreground": "#181818",
|
||||
"border": "#e2dcd8",
|
||||
"icon": "#c8c4c0",
|
||||
"removeHover": "#fde3e0"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#fef7f3",
|
||||
"foreground": "#181818",
|
||||
"mutedForeground": "#8a8a8a",
|
||||
"border": "#ebe4e1",
|
||||
"hover": "#e8e2de",
|
||||
"active": "#ffe3da"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"selectedBackground": "#ffe3da",
|
||||
"selectedForeground": "#181818"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"allow": "#0062d1",
|
||||
"allowBackground": "#deebfe",
|
||||
"deny": "#d1383d",
|
||||
"denyBackground": "#fde3e0"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#EC5B2B",
|
||||
"spinnerTrack": "#e8e2de",
|
||||
"skeleton": "#f1eae6",
|
||||
"shimmer": "#e8e2de"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#18181826",
|
||||
"thumbHover": "#18181840"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#f1eae6",
|
||||
"fg": "#181818",
|
||||
"border": "#e2dcd8"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#bff5ff",
|
||||
"fg": "#318795",
|
||||
"border": "#77d1e1"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#deebfe",
|
||||
"fg": "#0062d1",
|
||||
"border": "#9ec3fa"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#ffe3da",
|
||||
"fg": "#EC5B2B",
|
||||
"border": "#fea88e"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fde3e0",
|
||||
"fg": "#d1383d",
|
||||
"border": "#faa8a3"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f7f1ed",
|
||||
"foreground": "#181818",
|
||||
"border": "#c6c1be",
|
||||
"success": {
|
||||
"background": "#deebfe",
|
||||
"foreground": "#0062d1",
|
||||
"border": "#9ec3fa"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#ffe3da",
|
||||
"foreground": "#EC5B2B",
|
||||
"border": "#fea88e"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fde3e0",
|
||||
"foreground": "#d1383d",
|
||||
"border": "#faa8a3"
|
||||
},
|
||||
"info": {
|
||||
"background": "#bff5ff",
|
||||
"foreground": "#318795",
|
||||
"border": "#77d1e1"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#8a8a8a",
|
||||
"title": "#181818",
|
||||
"description": "#8a8a8a",
|
||||
"border": "#ebe4e1"
|
||||
},
|
||||
"table": {
|
||||
"border": "#ebe4e1",
|
||||
"headerBackground": "#f7f1ed",
|
||||
"headerForeground": "#181818",
|
||||
"rowHover": "#e8e2de",
|
||||
"rowSelected": "#ffe3da"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#EC5B2B",
|
||||
"#318795",
|
||||
"#0062d1",
|
||||
"#EC5B2B",
|
||||
"#d1383d"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#f45214",
|
||||
"selection": "#ffe3da",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #EC5B2B40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "oc-2-dark",
|
||||
"name": "OC-2",
|
||||
"description": "Port of OpenCode OC-2 theme (dark variant)",
|
||||
"description": "Ported from OpenCode OC-2 theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"oc-2"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#e27618",
|
||||
"base": "#fab283",
|
||||
"hover": "#f88524",
|
||||
"active": "#f88524",
|
||||
"active": "#1456f7",
|
||||
"foreground": "#000000",
|
||||
"muted": "#e2761880",
|
||||
"emphasis": "#f88524"
|
||||
"muted": "#fab28380",
|
||||
"emphasis": "#c0d4fb"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#0c0c0c",
|
||||
"background": "#121212",
|
||||
"foreground": "#f1ece8",
|
||||
"muted": "#1b1b1a",
|
||||
"muted": "#191919",
|
||||
"mutedForeground": "#cdc8c5",
|
||||
"elevated": "#151414",
|
||||
"elevated": "#1a1a1a",
|
||||
"elevatedForeground": "#f1ece8",
|
||||
"overlay": "#00000080",
|
||||
"subtle": "#232222"
|
||||
"overlay": "#121212cc",
|
||||
"subtle": "#282727"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#484746",
|
||||
"borderHover": "#52504f",
|
||||
"borderFocus": "#022fa6",
|
||||
"selection": "#00207d",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#022fa6",
|
||||
"focusRing": "#022fa659",
|
||||
"cursor": "#f1ece8",
|
||||
"hover": "#232222",
|
||||
"active": "#232222"
|
||||
"border": "#4d4c4a",
|
||||
"borderHover": "#565453",
|
||||
"borderFocus": "#1456f7",
|
||||
"selection": "#f1ece81f",
|
||||
"selectionForeground": "#f1ece8",
|
||||
"focus": "#1456f7",
|
||||
"focusRing": "#1456f761",
|
||||
"cursor": "#fefdfd",
|
||||
"hover": "#f1ece817",
|
||||
"active": "#f1ece81f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#cb321c",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#fc533a",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#5a0c03",
|
||||
"errorBorder": "#7a1608",
|
||||
"warning": "#c78b05",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#fcd53a",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#382e05",
|
||||
"warningBorder": "#4e410b",
|
||||
"success": "#089b00",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#12c905",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#083a05",
|
||||
"successBorder": "#10500d",
|
||||
"info": "#cd73d5",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#edb2f1",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#4d0853",
|
||||
"infoBorder": "#651b6c"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#089b00",
|
||||
"open": "#12c905",
|
||||
"draft": "#cdc8c5",
|
||||
"blocked": "#c78b05",
|
||||
"merged": "#edb2f1",
|
||||
"closed": "#cb321c"
|
||||
"blocked": "#fcd53a",
|
||||
"merged": "#93e9f6",
|
||||
"closed": "#fc533a"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#1b1b1a",
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"comment": "#8f8f8f",
|
||||
"keyword": "#edb2f1",
|
||||
"string": "#00ceb9",
|
||||
"number": "#8cb0ff",
|
||||
"number": "#93e9f6",
|
||||
"function": "#fab283",
|
||||
"variable": "#fefdfd",
|
||||
"type": "#fcd53a",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#8f8f8f",
|
||||
"stringEscape": "#93e9f6",
|
||||
"stringEscape": "#f1ece8",
|
||||
"keywordImport": "#edb2f1",
|
||||
"storageModifier": "#edb2f1",
|
||||
"functionCall": "#fab283",
|
||||
@@ -99,69 +101,308 @@
|
||||
"struct": "#fcd53a",
|
||||
"enum": "#fcd53a",
|
||||
"typeParameter": "#fcd53a",
|
||||
"namespace": "#edb2f1",
|
||||
"namespace": "#fcd53a",
|
||||
"module": "#edb2f1",
|
||||
"tag": "#edb2f1",
|
||||
"jsxTag": "#edb2f1",
|
||||
"tagAttribute": "#fab283",
|
||||
"tagAttributeValue": "#00ceb9",
|
||||
"boolean": "#8cb0ff",
|
||||
"boolean": "#93e9f6",
|
||||
"decorator": "#edb2f1",
|
||||
"label": "#edb2f1",
|
||||
"label": "#fab283",
|
||||
"punctuation": "#cdc8c5",
|
||||
"macro": "#edb2f1",
|
||||
"preprocessor": "#edb2f1",
|
||||
"regex": "#f1ece8",
|
||||
"url": "#cfdffd",
|
||||
"url": "#c0d4fb",
|
||||
"key": "#fab283",
|
||||
"exception": "#cb321c"
|
||||
"exception": "#fc533a"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#c4ffc0",
|
||||
"diffAddedBackground": "#001401",
|
||||
"diffRemoved": "#ec2f14",
|
||||
"diffRemovedBackground": "#240200",
|
||||
"diffAddedBackground": "#011d02",
|
||||
"diffRemoved": "#fab283",
|
||||
"diffRemovedBackground": "#310401",
|
||||
"diffModified": "#fde280",
|
||||
"diffModifiedBackground": "#141c2c",
|
||||
"diffModifiedBackground": "#151820",
|
||||
"lineNumber": "#afaca9",
|
||||
"lineNumberActive": "#f1ece8"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#121212",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"icon": "#999794",
|
||||
"hover": "#282727"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#191919",
|
||||
"foreground": "#cdc8c5",
|
||||
"border": "#4d4c4a",
|
||||
"icon": "#2c2c2b",
|
||||
"hover": "#282727",
|
||||
"active": "#00207d",
|
||||
"accent": "#fab283",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#121212",
|
||||
"userMessage": "#f1ece8",
|
||||
"userMessageBackground": "#202020",
|
||||
"assistantMessage": "#f1ece8",
|
||||
"assistantMessageBackground": "#121212",
|
||||
"timestamp": "#afaca9",
|
||||
"divider": "#3b3a39",
|
||||
"typing": "#cdc8c5"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#fed6bd",
|
||||
"heading2": "#fed6bd",
|
||||
"heading3": "#f1ece8",
|
||||
"heading3": "#fefdfd",
|
||||
"heading4": "#f1ece8",
|
||||
"link": "#cfdffd",
|
||||
"linkHover": "#facffe",
|
||||
"inlineCode": "#94fd8b",
|
||||
"inlineCodeBackground": "#1b1b1a",
|
||||
"inlineCodeBackground": "#202020",
|
||||
"blockquote": "#fde280",
|
||||
"blockquoteBorder": "#484746",
|
||||
"listMarker": "#cfdffd99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#f1ece8",
|
||||
"userMessageBackground": "#00207d",
|
||||
"assistantMessage": "#f1ece8",
|
||||
"assistantMessageBackground": "#0c0c0c",
|
||||
"timestamp": "#cdc8c5",
|
||||
"divider": "#484746"
|
||||
"blockquoteBorder": "#4d4c4a",
|
||||
"listMarker": "#cfdffd99",
|
||||
"bold": "#facffe",
|
||||
"italic": "#fde280",
|
||||
"strikethrough": "#cdc8c5",
|
||||
"hr": "#4d4c4a"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#1b1b1a80",
|
||||
"border": "#484746b3",
|
||||
"headerHover": "#23222280",
|
||||
"icon": "#cdc8c5",
|
||||
"background": "#202020",
|
||||
"border": "#3b3a39",
|
||||
"headerHover": "#282727",
|
||||
"icon": "#2c2c2b",
|
||||
"title": "#f1ece8",
|
||||
"description": "#cdc8c5",
|
||||
"edit": {
|
||||
"added": "#c4ffc0",
|
||||
"addedBackground": "#001401",
|
||||
"addedBackground": "#011d02",
|
||||
"removed": "#ec2f14",
|
||||
"removedBackground": "#240200",
|
||||
"removedBackground": "#310401",
|
||||
"modified": "#fde280",
|
||||
"modifiedBackground": "#151820",
|
||||
"lineNumber": "#afaca9"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"info": "#edb2f1",
|
||||
"warning": "#fcd53a",
|
||||
"error": "#fc533a"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"info": "#edb2f1",
|
||||
"warning": "#fcd53a",
|
||||
"error": "#fc533a"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#151515",
|
||||
"inputForeground": "#f1ece8",
|
||||
"inputBorder": "#3b3a39",
|
||||
"inputBorderHover": "#444342",
|
||||
"inputBorderFocus": "#1456f7",
|
||||
"inputPlaceholder": "#afaca9",
|
||||
"inputDisabled": "#1d1d1d",
|
||||
"inputSelection": "#0643da",
|
||||
"label": "#cdc8c5",
|
||||
"helperText": "#afaca9"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#fab283",
|
||||
"fg": "#000000",
|
||||
"border": "#022fa6",
|
||||
"hover": "#f88524",
|
||||
"active": "#1456f7",
|
||||
"disabled": "#444342"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#1a1a1a",
|
||||
"fg": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"hover": "#202020",
|
||||
"active": "#282727",
|
||||
"disabled": "#1d1d1d"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#f1ece8",
|
||||
"border": "#00000000",
|
||||
"hover": "#202020",
|
||||
"active": "#282727",
|
||||
"disabled": "#afaca9"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#fc533a",
|
||||
"fg": "#151313",
|
||||
"border": "#7a1608",
|
||||
"hover": "#1F0603",
|
||||
"active": "#cb321c",
|
||||
"disabled": "#1d1d1d"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"overlay": "#121212d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"inputBackground": "#151515",
|
||||
"selectedBackground": "#00207d",
|
||||
"selectedForeground": "#f1ece8",
|
||||
"muted": "#cdc8c5"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#202020",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#3b3a39",
|
||||
"icon": "#2c2c2b",
|
||||
"removeHover": "#5a0c03"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#121212",
|
||||
"foreground": "#f1ece8",
|
||||
"mutedForeground": "#cdc8c5",
|
||||
"border": "#323131",
|
||||
"hover": "#282727",
|
||||
"active": "#00207d"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"selectedBackground": "#00207d",
|
||||
"selectedForeground": "#f1ece8"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"allow": "#12c905",
|
||||
"allowBackground": "#083a05",
|
||||
"deny": "#fc533a",
|
||||
"denyBackground": "#5a0c03"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#fab283",
|
||||
"spinnerTrack": "#282727",
|
||||
"skeleton": "#202020",
|
||||
"shimmer": "#282727"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#f1ece833",
|
||||
"thumbHover": "#f1ece857"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#202020",
|
||||
"fg": "#f1ece8",
|
||||
"border": "#3b3a39"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#4d0853",
|
||||
"fg": "#edb2f1",
|
||||
"border": "#651b6c"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#083a05",
|
||||
"fg": "#12c905",
|
||||
"border": "#10500d"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#382e05",
|
||||
"fg": "#fcd53a",
|
||||
"border": "#4e410b"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5a0c03",
|
||||
"fg": "#fc533a",
|
||||
"border": "#7a1608"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#1a1a1a",
|
||||
"foreground": "#f1ece8",
|
||||
"border": "#4d4c4a",
|
||||
"success": {
|
||||
"background": "#083a05",
|
||||
"foreground": "#12c905",
|
||||
"border": "#10500d"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#382e05",
|
||||
"foreground": "#fcd53a",
|
||||
"border": "#4e410b"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5a0c03",
|
||||
"foreground": "#fc533a",
|
||||
"border": "#7a1608"
|
||||
},
|
||||
"info": {
|
||||
"background": "#4d0853",
|
||||
"foreground": "#edb2f1",
|
||||
"border": "#651b6c"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#cdc8c5",
|
||||
"title": "#f1ece8",
|
||||
"description": "#cdc8c5",
|
||||
"border": "#323131"
|
||||
},
|
||||
"table": {
|
||||
"border": "#323131",
|
||||
"headerBackground": "#1a1a1a",
|
||||
"headerForeground": "#f1ece8",
|
||||
"rowHover": "#282727",
|
||||
"rowSelected": "#00207d"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#fab283",
|
||||
"#edb2f1",
|
||||
"#12c905",
|
||||
"#fcd53a",
|
||||
"#fc533a"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#1456f7",
|
||||
"selection": "#00207d",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #034cff59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "oc-2-light",
|
||||
"name": "OC-2",
|
||||
"description": "Port of OpenCode OC-2 theme (light variant)",
|
||||
"description": "Ported from OpenCode OC-2 theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"oc-2"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#dddf79",
|
||||
"base": "#dcde8d",
|
||||
"hover": "#d2d369",
|
||||
"active": "#d2d369",
|
||||
"active": "#054dfd",
|
||||
"foreground": "#000000",
|
||||
"muted": "#dddf7980",
|
||||
"emphasis": "#d2d369"
|
||||
"muted": "#dcde8d80",
|
||||
"emphasis": "#0445e6"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161210",
|
||||
"muted": "#ebebeb",
|
||||
"muted": "#ededed",
|
||||
"mutedForeground": "#302c2a",
|
||||
"elevated": "#f1f1f1",
|
||||
"elevatedForeground": "#161210",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#f8f8f833",
|
||||
"subtle": "#e2e2e2"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#c1c0c0",
|
||||
"borderHover": "#b4b2b2",
|
||||
"borderFocus": "#a3c1fd",
|
||||
"selection": "#e0eafd",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#a3c1fd",
|
||||
"focusRing": "#a3c1fd47",
|
||||
"cursor": "#161210",
|
||||
"hover": "#e2e2e2",
|
||||
"active": "#e2e2e2"
|
||||
"borderFocus": "#054dfd",
|
||||
"selection": "#16121016",
|
||||
"selectionForeground": "#161210",
|
||||
"focus": "#054dfd",
|
||||
"focusRing": "#054dfd47",
|
||||
"cursor": "#070504",
|
||||
"hover": "#1612100e",
|
||||
"active": "#16121016"
|
||||
},
|
||||
"status": {
|
||||
"error": "#fa3012",
|
||||
"error": "#fc533a",
|
||||
"errorForeground": "#000000",
|
||||
"errorBackground": "#fde3de",
|
||||
"errorBorder": "#faaa9b",
|
||||
"warning": "#f9b13f",
|
||||
"warning": "#ffdc17",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#feeb92",
|
||||
"warningBorder": "#dec025",
|
||||
"success": "#2ce822",
|
||||
"success": "#12c905",
|
||||
"successForeground": "#000000",
|
||||
"successBackground": "#bbffb4",
|
||||
"successBorder": "#2ce822",
|
||||
"info": "#f39cf9",
|
||||
"infoForeground": "#000000",
|
||||
"info": "#a753ae",
|
||||
"infoForeground": "#ffffff",
|
||||
"infoBackground": "#fcdffe",
|
||||
"infoBorder": "#f39cf9"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#2ce822",
|
||||
"open": "#12c905",
|
||||
"draft": "#302c2a",
|
||||
"blocked": "#f9b13f",
|
||||
"merged": "#a753ae",
|
||||
"closed": "#fa3012"
|
||||
"blocked": "#ffdc17",
|
||||
"merged": "#007b80",
|
||||
"closed": "#fc533a"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#ebebeb",
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"comment": "#7a7a7a",
|
||||
"keyword": "#a753ae",
|
||||
"string": "#00ceb9",
|
||||
"number": "#034cff",
|
||||
"number": "#007b80",
|
||||
"function": "#a753ae",
|
||||
"variable": "#070504",
|
||||
"type": "#8a6f00",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#7a7a7a",
|
||||
"stringEscape": "#007b80",
|
||||
"stringEscape": "#161210",
|
||||
"keywordImport": "#a753ae",
|
||||
"storageModifier": "#a753ae",
|
||||
"functionCall": "#a753ae",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#a753ae",
|
||||
"variableOther": "#070504",
|
||||
"variableGlobal": "#007b80",
|
||||
"variableLocal": "#302c2a",
|
||||
"variableLocal": "#161210",
|
||||
"parameter": "#070504",
|
||||
"constant": "#007b80",
|
||||
"class": "#8a6f00",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#8a6f00",
|
||||
"enum": "#8a6f00",
|
||||
"typeParameter": "#8a6f00",
|
||||
"namespace": "#a753ae",
|
||||
"namespace": "#8a6f00",
|
||||
"module": "#a753ae",
|
||||
"tag": "#a753ae",
|
||||
"jsxTag": "#a753ae",
|
||||
"tagAttribute": "#a753ae",
|
||||
"tagAttributeValue": "#00ceb9",
|
||||
"boolean": "#034cff",
|
||||
"boolean": "#007b80",
|
||||
"decorator": "#a753ae",
|
||||
"label": "#a753ae",
|
||||
"punctuation": "#161210",
|
||||
"macro": "#a753ae",
|
||||
"preprocessor": "#a753ae",
|
||||
"regex": "#161210",
|
||||
"url": "#0040df",
|
||||
"url": "#0445e6",
|
||||
"key": "#a753ae",
|
||||
"exception": "#fa3012"
|
||||
"exception": "#fc533a"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#167517",
|
||||
"diffAddedBackground": "#f9fff8",
|
||||
"diffRemoved": "#fa3012",
|
||||
"diffRemovedBackground": "#fffcfb",
|
||||
"diffAddedBackground": "#efffee",
|
||||
"diffRemoved": "#ff8c00",
|
||||
"diffRemovedBackground": "#fef8f6",
|
||||
"diffModified": "#675912",
|
||||
"diffModifiedBackground": "#dfe4f0",
|
||||
"diffModifiedBackground": "#ebeef4",
|
||||
"lineNumber": "#494644",
|
||||
"lineNumberActive": "#161210"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"icon": "#302c2a",
|
||||
"hover": "#e2e2e2"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#ededed",
|
||||
"foreground": "#302c2a",
|
||||
"border": "#c1c0c0",
|
||||
"icon": "#c3c2c1",
|
||||
"hover": "#e2e2e2",
|
||||
"active": "#e0eafd",
|
||||
"accent": "#dcde8d",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#f8f8f8",
|
||||
"userMessage": "#161210",
|
||||
"userMessageBackground": "#ebebeb",
|
||||
"assistantMessage": "#161210",
|
||||
"assistantMessageBackground": "#f8f8f8",
|
||||
"timestamp": "#494644",
|
||||
"divider": "#dcdcdb",
|
||||
"typing": "#302c2a"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#5e5e11",
|
||||
"heading2": "#5e5e11",
|
||||
"heading3": "#161210",
|
||||
"heading3": "#070504",
|
||||
"heading4": "#161210",
|
||||
"link": "#0040df",
|
||||
"linkHover": "#8c1896",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#ebebeb",
|
||||
"blockquote": "#675912",
|
||||
"blockquoteBorder": "#c1c0c0",
|
||||
"listMarker": "#0040df99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#161210",
|
||||
"userMessageBackground": "#e0eafd",
|
||||
"assistantMessage": "#161210",
|
||||
"assistantMessageBackground": "#f8f8f8",
|
||||
"timestamp": "#302c2a",
|
||||
"divider": "#c1c0c0"
|
||||
"listMarker": "#0040df99",
|
||||
"bold": "#8c1896",
|
||||
"italic": "#675912",
|
||||
"strikethrough": "#302c2a",
|
||||
"hr": "#c1c0c0"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#ebebeb80",
|
||||
"border": "#c1c0c0b3",
|
||||
"headerHover": "#e2e2e280",
|
||||
"icon": "#302c2a",
|
||||
"background": "#ebebeb",
|
||||
"border": "#dcdcdb",
|
||||
"headerHover": "#e2e2e2",
|
||||
"icon": "#c3c2c1",
|
||||
"title": "#161210",
|
||||
"description": "#302c2a",
|
||||
"edit": {
|
||||
"added": "#167517",
|
||||
"addedBackground": "#f9fff8",
|
||||
"addedBackground": "#efffee",
|
||||
"removed": "#fa3012",
|
||||
"removedBackground": "#fffcfb",
|
||||
"removedBackground": "#fef8f6",
|
||||
"modified": "#675912",
|
||||
"modifiedBackground": "#ebeef4",
|
||||
"lineNumber": "#494644"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"info": "#a753ae",
|
||||
"warning": "#ffdc17",
|
||||
"error": "#fc533a"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"info": "#a753ae",
|
||||
"warning": "#ffdc17",
|
||||
"error": "#fc533a"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#f8f8f8",
|
||||
"inputForeground": "#161210",
|
||||
"inputBorder": "#dcdcdb",
|
||||
"inputBorderHover": "#cfcecd",
|
||||
"inputBorderFocus": "#054dfd",
|
||||
"inputPlaceholder": "#494644",
|
||||
"inputDisabled": "#e6e6e6",
|
||||
"inputSelection": "#e0eafd",
|
||||
"label": "#302c2a",
|
||||
"helperText": "#494644"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#dcde8d",
|
||||
"fg": "#000000",
|
||||
"border": "#a3c1fd",
|
||||
"hover": "#d2d369",
|
||||
"active": "#054dfd",
|
||||
"disabled": "#cac9c9"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f1f1f1",
|
||||
"fg": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"hover": "#ebebeb",
|
||||
"active": "#e2e2e2",
|
||||
"disabled": "#e6e6e6"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#161210",
|
||||
"border": "#00000000",
|
||||
"hover": "#ebebeb",
|
||||
"active": "#e2e2e2",
|
||||
"disabled": "#494644"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#fc533a",
|
||||
"fg": "#000000",
|
||||
"border": "#faaa9b",
|
||||
"hover": "#FFF2F0",
|
||||
"active": "#fb543c",
|
||||
"disabled": "#e6e6e6"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"overlay": "#f8f8f83d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"inputBackground": "#f8f8f8",
|
||||
"selectedBackground": "#e0eafd",
|
||||
"selectedForeground": "#161210",
|
||||
"muted": "#302c2a"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#ebebeb",
|
||||
"foreground": "#161210",
|
||||
"border": "#dcdcdb",
|
||||
"icon": "#c3c2c1",
|
||||
"removeHover": "#fde3de"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161210",
|
||||
"mutedForeground": "#302c2a",
|
||||
"border": "#e5e5e5",
|
||||
"hover": "#e2e2e2",
|
||||
"active": "#e0eafd"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"selectedBackground": "#e0eafd",
|
||||
"selectedForeground": "#161210"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"allow": "#12c905",
|
||||
"allowBackground": "#bbffb4",
|
||||
"deny": "#fc533a",
|
||||
"denyBackground": "#fde3de"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#dcde8d",
|
||||
"spinnerTrack": "#e2e2e2",
|
||||
"skeleton": "#ebebeb",
|
||||
"shimmer": "#e2e2e2"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#16121026",
|
||||
"thumbHover": "#16121040"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#ebebeb",
|
||||
"fg": "#161210",
|
||||
"border": "#dcdcdb"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#fcdffe",
|
||||
"fg": "#a753ae",
|
||||
"border": "#f39cf9"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#bbffb4",
|
||||
"fg": "#12c905",
|
||||
"border": "#2ce822"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#feeb92",
|
||||
"fg": "#ffdc17",
|
||||
"border": "#dec025"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fde3de",
|
||||
"fg": "#fc533a",
|
||||
"border": "#faaa9b"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161210",
|
||||
"border": "#c1c0c0",
|
||||
"success": {
|
||||
"background": "#bbffb4",
|
||||
"foreground": "#12c905",
|
||||
"border": "#2ce822"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#feeb92",
|
||||
"foreground": "#ffdc17",
|
||||
"border": "#dec025"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fde3de",
|
||||
"foreground": "#fc533a",
|
||||
"border": "#faaa9b"
|
||||
},
|
||||
"info": {
|
||||
"background": "#fcdffe",
|
||||
"foreground": "#a753ae",
|
||||
"border": "#f39cf9"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#302c2a",
|
||||
"title": "#161210",
|
||||
"description": "#302c2a",
|
||||
"border": "#e5e5e5"
|
||||
},
|
||||
"table": {
|
||||
"border": "#e5e5e5",
|
||||
"headerBackground": "#f1f1f1",
|
||||
"headerForeground": "#161210",
|
||||
"rowHover": "#e2e2e2",
|
||||
"rowSelected": "#e0eafd"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#dcde8d",
|
||||
"#a753ae",
|
||||
"#12c905",
|
||||
"#ffdc17",
|
||||
"#fc533a"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#054dfd",
|
||||
"selection": "#e0eafd",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #034cff40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
{
|
||||
"metadata": {
|
||||
"id": "openchamber-dark",
|
||||
"name": "OpenChamber",
|
||||
"description": "OpenChamber brand theme - dark variant",
|
||||
"author": "OpenChamber",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": ["dark", "warm", "earthy", "brand"]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#7a8a5a",
|
||||
"hover": "#93a56b",
|
||||
"active": "#a4b67d",
|
||||
"foreground": "#0c0a08",
|
||||
"muted": "#7a8a5a80",
|
||||
"emphasis": "#93a56b"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#1b1815",
|
||||
"foreground": "#ebe0d1",
|
||||
"muted": "#23201c",
|
||||
"mutedForeground": "#83796f",
|
||||
"elevated": "#2b2622",
|
||||
"elevatedForeground": "#ebe0d1",
|
||||
"overlay": "#1b1815cc",
|
||||
"subtle": "#332d28"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#413e3a",
|
||||
"borderHover": "#f0e6d830",
|
||||
"borderFocus": "#373d2c",
|
||||
"selection": "#f0e6d81f",
|
||||
"selectionForeground": "#ebe0d1",
|
||||
"focus": "#7a8a5a",
|
||||
"focusRing": "#7a8a5a4d",
|
||||
"cursor": "#ebe0d1",
|
||||
"hover": "#332d28",
|
||||
"active": "#f0e6d824"
|
||||
},
|
||||
"status": {
|
||||
"error": "#b34d3b",
|
||||
"errorForeground": "#0c0a08",
|
||||
"errorBackground": "#b85a4a20",
|
||||
"errorBorder": "#b85a4a50",
|
||||
"warning": "#c47a3a",
|
||||
"warningForeground": "#0c0a08",
|
||||
"warningBackground": "#c47a3a20",
|
||||
"warningBorder": "#c47a3a50",
|
||||
"success": "#7f905e",
|
||||
"successForeground": "#0c0a08",
|
||||
"successBackground": "#7a8a5a20",
|
||||
"successBorder": "#7a8a5a50",
|
||||
"info": "#667c8a",
|
||||
"infoForeground": "#f0e6d8",
|
||||
"infoBackground": "#5a6d7a20",
|
||||
"infoBorder": "#5a6d7a50"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#7a8a5a",
|
||||
"draft": "#6a5e52",
|
||||
"blocked": "#c47a3a",
|
||||
"merged": "#5a6d7a",
|
||||
"closed": "#b85a4a"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#23201c",
|
||||
"foreground": "#ebe0d1",
|
||||
"comment": "#6a5e52",
|
||||
"keyword": "#5a6d7a",
|
||||
"string": "#93a56b",
|
||||
"number": "#c47a3a",
|
||||
"function": "#c47a3a",
|
||||
"variable": "#ebe0d1",
|
||||
"type": "#7a8a5a",
|
||||
"operator": "#a89888"
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#4a4238",
|
||||
"stringEscape": "#ebe0d1",
|
||||
"keywordImport": "#5a6d7a",
|
||||
"storageModifier": "#5a6d7a",
|
||||
"functionCall": "#c47a3a",
|
||||
"method": "#93a56b",
|
||||
"variableProperty": "#5a6d7a",
|
||||
"variableOther": "#ebe0d1",
|
||||
"variableGlobal": "#c47a3a",
|
||||
"variableLocal": "#a89888",
|
||||
"parameter": "#ebe0d1",
|
||||
"constant": "#c47a3a",
|
||||
"class": "#7a8a5a",
|
||||
"className": "#7a8a5a",
|
||||
"interface": "#7a8a5a",
|
||||
"struct": "#7a8a5a",
|
||||
"enum": "#7a8a5a",
|
||||
"typeParameter": "#93a56b",
|
||||
"namespace": "#5a6d7a",
|
||||
"module": "#5a6d7a",
|
||||
"tag": "#c47a3a",
|
||||
"jsxTag": "#c47a3a",
|
||||
"tagAttribute": "#93a56b",
|
||||
"tagAttributeValue": "#93a56b",
|
||||
"boolean": "#7a8a5a",
|
||||
"decorator": "#5a6d7a",
|
||||
"label": "#c47a3a",
|
||||
"punctuation": "#a89888",
|
||||
"macro": "#5a6d7a",
|
||||
"preprocessor": "#5a6d7a",
|
||||
"regex": "#93a56b",
|
||||
"url": "#5a6d7a",
|
||||
"key": "#c47a3a",
|
||||
"exception": "#b85a4a"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#7a8a5a",
|
||||
"diffAddedBackground": "#7a8a5a20",
|
||||
"diffRemoved": "#b85a4a",
|
||||
"diffRemovedBackground": "#b85a4a20",
|
||||
"diffModified": "#5a6d7a",
|
||||
"diffModifiedBackground": "#5a6d7a20",
|
||||
"lineNumber": "#6a5e52",
|
||||
"lineNumberActive": "#ebe0d1"
|
||||
}
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#c47a3a",
|
||||
"heading2": "#93a56b",
|
||||
"heading3": "#ebe0d1",
|
||||
"heading4": "#ebe0d1",
|
||||
"link": "#5a6d7a",
|
||||
"linkHover": "#93a56b",
|
||||
"inlineCode": "#93a56b",
|
||||
"inlineCodeBackground": "#23201c",
|
||||
"blockquote": "#a89888",
|
||||
"blockquoteBorder": "#f0e6d830",
|
||||
"listMarker": "#c47a3a99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#ebe0d1",
|
||||
"userMessageBackground": "#272a25",
|
||||
"assistantMessage": "#ebe0d1",
|
||||
"assistantMessageBackground": "#1b1815",
|
||||
"timestamp": "#6a5e52",
|
||||
"divider": "#f0e6d81c"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#23201c80",
|
||||
"border": "#f0e6d830",
|
||||
"headerHover": "#2a252180",
|
||||
"icon": "#a89888",
|
||||
"title": "#ebe0d1",
|
||||
"description": "#a19a96",
|
||||
"edit": {
|
||||
"added": "#7a8a5a",
|
||||
"addedBackground": "#7a8a5a25",
|
||||
"removed": "#b85a4a",
|
||||
"removedBackground": "#b85a4a25",
|
||||
"lineNumber": "#6a5e52"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"fonts": {
|
||||
"sans": "\"IBM Plex Mono\", monospace",
|
||||
"mono": "\"IBM Plex Mono\", monospace",
|
||||
"heading": "\"IBM Plex Mono\", monospace"
|
||||
},
|
||||
"radius": {
|
||||
"none": "0",
|
||||
"sm": "0.125rem",
|
||||
"md": "0.375rem",
|
||||
"lg": "0.5rem",
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
{
|
||||
"metadata": {
|
||||
"id": "openchamber-light",
|
||||
"name": "OpenChamber",
|
||||
"description": "OpenChamber brand theme - light variant",
|
||||
"author": "OpenChamber",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": ["light", "warm", "earthy", "brand"]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#4a6030",
|
||||
"hover": "#5e773f",
|
||||
"active": "#708a50",
|
||||
"foreground": "#faf8f5",
|
||||
"muted": "#4a603080",
|
||||
"emphasis": "#5e773f"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#f9f5eb",
|
||||
"foreground": "#1a1612",
|
||||
"muted": "#f4efe3",
|
||||
"mutedForeground": "#5a5048",
|
||||
"elevated": "#fcf9f0",
|
||||
"elevatedForeground": "#1a1612",
|
||||
"overlay": "#1a161220",
|
||||
"subtle": "#efe8da"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#1a16121c",
|
||||
"borderHover": "#1a161230",
|
||||
"borderFocus": "#4a6030",
|
||||
"selection": "#1a16121a",
|
||||
"selectionForeground": "#1a1612",
|
||||
"focus": "#4a6030",
|
||||
"focusRing": "#4a603040",
|
||||
"cursor": "#1a1612",
|
||||
"hover": "#efe8da",
|
||||
"active": "#1a16121f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#a24d3f",
|
||||
"errorForeground": "#faf8f5",
|
||||
"errorBackground": "#a24d3f20",
|
||||
"errorBorder": "#a24d3f50",
|
||||
"warning": "#8c5520",
|
||||
"warningForeground": "#faf8f5",
|
||||
"warningBackground": "#8c552020",
|
||||
"warningBorder": "#8c552050",
|
||||
"success": "#4a6030",
|
||||
"successForeground": "#faf8f5",
|
||||
"successBackground": "#4a603020",
|
||||
"successBorder": "#4a603050",
|
||||
"info": "#3d4f5a",
|
||||
"infoForeground": "#faf8f5",
|
||||
"infoBackground": "#3d4f5a20",
|
||||
"infoBorder": "#3d4f5a50"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#4a6030",
|
||||
"draft": "#8a7e72",
|
||||
"blocked": "#8c5520",
|
||||
"merged": "#3d4f5a",
|
||||
"closed": "#a24d3f"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#ece5d6",
|
||||
"foreground": "#1a1612",
|
||||
"comment": "#8a7e72",
|
||||
"keyword": "#3d4f5a",
|
||||
"string": "#5e773f",
|
||||
"number": "#8c5520",
|
||||
"function": "#8c5520",
|
||||
"variable": "#1a1612",
|
||||
"type": "#4a6030",
|
||||
"operator": "#5a5048"
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#b8b0a4",
|
||||
"stringEscape": "#1a1612",
|
||||
"keywordImport": "#3d4f5a",
|
||||
"storageModifier": "#3d4f5a",
|
||||
"functionCall": "#8c5520",
|
||||
"method": "#5e773f",
|
||||
"variableProperty": "#3d4f5a",
|
||||
"variableOther": "#1a1612",
|
||||
"variableGlobal": "#8c5520",
|
||||
"variableLocal": "#5a5048",
|
||||
"parameter": "#1a1612",
|
||||
"constant": "#8c5520",
|
||||
"class": "#4a6030",
|
||||
"className": "#4a6030",
|
||||
"interface": "#4a6030",
|
||||
"struct": "#4a6030",
|
||||
"enum": "#4a6030",
|
||||
"typeParameter": "#5e773f",
|
||||
"namespace": "#3d4f5a",
|
||||
"module": "#3d4f5a",
|
||||
"tag": "#8c5520",
|
||||
"jsxTag": "#8c5520",
|
||||
"tagAttribute": "#4a6030",
|
||||
"tagAttributeValue": "#5e773f",
|
||||
"boolean": "#4a6030",
|
||||
"decorator": "#3d4f5a",
|
||||
"label": "#8c5520",
|
||||
"punctuation": "#5a5048",
|
||||
"macro": "#3d4f5a",
|
||||
"preprocessor": "#3d4f5a",
|
||||
"regex": "#5e773f",
|
||||
"url": "#3d4f5a",
|
||||
"key": "#8c5520",
|
||||
"exception": "#a24d3f"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#4a6030",
|
||||
"diffAddedBackground": "#4a603020",
|
||||
"diffRemoved": "#a24d3f",
|
||||
"diffRemovedBackground": "#a24d3f20",
|
||||
"diffModified": "#3d4f5a",
|
||||
"diffModifiedBackground": "#3d4f5a20",
|
||||
"lineNumber": "#8a7e72",
|
||||
"lineNumberActive": "#1a1612"
|
||||
}
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#8c5520",
|
||||
"heading2": "#4a6030",
|
||||
"heading3": "#1a1612",
|
||||
"heading4": "#1a1612",
|
||||
"link": "#3d4f5a",
|
||||
"linkHover": "#4a6030",
|
||||
"inlineCode": "#4a6030",
|
||||
"inlineCodeBackground": "#ece5d6",
|
||||
"blockquote": "#5a5048",
|
||||
"blockquoteBorder": "#1a161230",
|
||||
"listMarker": "#8c552099"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#1a1612",
|
||||
"userMessageBackground": "#efe8da",
|
||||
"assistantMessage": "#1a1612",
|
||||
"assistantMessageBackground": "#f9f5eb",
|
||||
"timestamp": "#8a7e72",
|
||||
"divider": "#1a16121c"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f4efe380",
|
||||
"border": "#1a161230",
|
||||
"headerHover": "#efe8da",
|
||||
"icon": "#5a5048",
|
||||
"title": "#1a1612",
|
||||
"description": "#5a5048",
|
||||
"edit": {
|
||||
"added": "#4a6030",
|
||||
"addedBackground": "#4a603025",
|
||||
"removed": "#a24d3f",
|
||||
"removedBackground": "#a24d3f25",
|
||||
"lineNumber": "#8a7e72"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"fonts": {
|
||||
"sans": "\"IBM Plex Mono\", monospace",
|
||||
"mono": "\"IBM Plex Mono\", monospace",
|
||||
"heading": "\"IBM Plex Mono\", monospace"
|
||||
},
|
||||
"radius": {
|
||||
"none": "0",
|
||||
"sm": "0.125rem",
|
||||
"md": "0.375rem",
|
||||
"lg": "0.5rem",
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "orng-dark",
|
||||
"name": "Orng",
|
||||
"description": "Port of OpenCode Orng theme (dark variant)",
|
||||
"description": "Ported from OpenCode Orng theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"orng"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#be3c07",
|
||||
"base": "#EC5B2B",
|
||||
"hover": "#da4f1f",
|
||||
"active": "#da4f1f",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#be3c0780",
|
||||
"emphasis": "#da4f1f"
|
||||
"active": "#be3c07",
|
||||
"foreground": "#151313",
|
||||
"muted": "#EC5B2B80",
|
||||
"emphasis": "#fdc4b3"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#050505",
|
||||
"foreground": "#eeeeee",
|
||||
"muted": "#141414",
|
||||
"muted": "#0b0b0b",
|
||||
"mutedForeground": "#808080",
|
||||
"elevated": "#0e0e0e",
|
||||
"elevatedForeground": "#eeeeee",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#050505cc",
|
||||
"subtle": "#1c1c1c"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#434343",
|
||||
"borderHover": "#4c4c4c",
|
||||
"borderFocus": "#752101",
|
||||
"selection": "#531906",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#752101",
|
||||
"focusRing": "#75210159",
|
||||
"cursor": "#eeeeee",
|
||||
"hover": "#1c1c1c",
|
||||
"active": "#1c1c1c"
|
||||
"borderFocus": "#be3c07",
|
||||
"selection": "#eeeeee1f",
|
||||
"selectionForeground": "#eeeeee",
|
||||
"focus": "#be3c07",
|
||||
"focusRing": "#be3c0761",
|
||||
"cursor": "#fdfdfd",
|
||||
"hover": "#eeeeee17",
|
||||
"active": "#eeeeee1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#ce2245",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#e06c75",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#5c0318",
|
||||
"errorBorder": "#7c0a25",
|
||||
"warning": "#c51d33",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#EC5B2B",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#531906",
|
||||
"warningBorder": "#752101",
|
||||
"success": "#1277e2",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#6ba1e6",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#042e5d",
|
||||
"successBorder": "#09417d",
|
||||
"info": "#228f9b",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#56b6c2",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#05363b",
|
||||
"infoBorder": "#0d4b51"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#1277e2",
|
||||
"open": "#6ba1e6",
|
||||
"draft": "#808080",
|
||||
"blocked": "#c51d33",
|
||||
"merged": "#EC5B2B",
|
||||
"closed": "#ce2245"
|
||||
"blocked": "#EC5B2B",
|
||||
"merged": "#FFF7F1",
|
||||
"closed": "#e06c75"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#141414",
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"comment": "#808080",
|
||||
"keyword": "#EC5B2B",
|
||||
"string": "#6ba1e6",
|
||||
"number": "#EE7948",
|
||||
"number": "#FFF7F1",
|
||||
"function": "#56b6c2",
|
||||
"variable": "#e06c75",
|
||||
"type": "#e5c07b",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#808080",
|
||||
"stringEscape": "#FFF7F1",
|
||||
"stringEscape": "#eeeeee",
|
||||
"keywordImport": "#EC5B2B",
|
||||
"storageModifier": "#EC5B2B",
|
||||
"functionCall": "#56b6c2",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#56b6c2",
|
||||
"variableOther": "#e06c75",
|
||||
"variableGlobal": "#FFF7F1",
|
||||
"variableLocal": "#808080",
|
||||
"variableLocal": "#eeeeee",
|
||||
"parameter": "#e06c75",
|
||||
"constant": "#FFF7F1",
|
||||
"class": "#e5c07b",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#e5c07b",
|
||||
"enum": "#e5c07b",
|
||||
"typeParameter": "#e5c07b",
|
||||
"namespace": "#EC5B2B",
|
||||
"namespace": "#e5c07b",
|
||||
"module": "#EC5B2B",
|
||||
"tag": "#EC5B2B",
|
||||
"jsxTag": "#EC5B2B",
|
||||
"tagAttribute": "#56b6c2",
|
||||
"tagAttributeValue": "#6ba1e6",
|
||||
"boolean": "#EE7948",
|
||||
"boolean": "#FFF7F1",
|
||||
"decorator": "#EC5B2B",
|
||||
"label": "#EC5B2B",
|
||||
"label": "#56b6c2",
|
||||
"punctuation": "#eeeeee",
|
||||
"macro": "#EC5B2B",
|
||||
"preprocessor": "#EC5B2B",
|
||||
"regex": "#eeeeee",
|
||||
"url": "#EC5B2B",
|
||||
"url": "#fdc4b3",
|
||||
"key": "#56b6c2",
|
||||
"exception": "#ce2245"
|
||||
"exception": "#e06c75"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#b8d6fe",
|
||||
"diffAddedBackground": "#010e24",
|
||||
"diffRemoved": "#e92b53",
|
||||
"diffRemovedBackground": "#230106",
|
||||
"diffAddedBackground": "#021631",
|
||||
"diffRemoved": "#fec2c4",
|
||||
"diffRemovedBackground": "#30030a",
|
||||
"diffModified": "#ffba92",
|
||||
"diffModifiedBackground": "#281a16",
|
||||
"diffModifiedBackground": "#150e0c",
|
||||
"lineNumber": "#5d5d5d",
|
||||
"lineNumberActive": "#eeeeee"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#050505",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"icon": "#919191",
|
||||
"hover": "#1c1c1c"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#0b0b0b",
|
||||
"foreground": "#808080",
|
||||
"border": "#434343",
|
||||
"icon": "#1e1e1e",
|
||||
"hover": "#1c1c1c",
|
||||
"active": "#531906",
|
||||
"accent": "#EC5B2B",
|
||||
"accentForeground": "#151313"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#050505",
|
||||
"userMessage": "#eeeeee",
|
||||
"userMessageBackground": "#141414",
|
||||
"assistantMessage": "#eeeeee",
|
||||
"assistantMessageBackground": "#050505",
|
||||
"timestamp": "#5d5d5d",
|
||||
"divider": "#303030",
|
||||
"typing": "#808080"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#EC5B2B",
|
||||
"heading2": "#EC5B2B",
|
||||
"heading3": "#eeeeee",
|
||||
"heading3": "#fdfdfd",
|
||||
"heading4": "#eeeeee",
|
||||
"link": "#EC5B2B",
|
||||
"linkHover": "#56b6c2",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#141414",
|
||||
"blockquote": "#FFF7F1",
|
||||
"blockquoteBorder": "#434343",
|
||||
"listMarker": "#EC5B2B99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#eeeeee",
|
||||
"userMessageBackground": "#531906",
|
||||
"assistantMessage": "#eeeeee",
|
||||
"assistantMessageBackground": "#050505",
|
||||
"timestamp": "#808080",
|
||||
"divider": "#434343"
|
||||
"listMarker": "#EC5B2B99",
|
||||
"bold": "#EE7948",
|
||||
"italic": "#e5c07b",
|
||||
"strikethrough": "#808080",
|
||||
"hr": "#808080"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#14141480",
|
||||
"border": "#434343b3",
|
||||
"headerHover": "#1c1c1c80",
|
||||
"icon": "#808080",
|
||||
"background": "#141414",
|
||||
"border": "#303030",
|
||||
"headerHover": "#1c1c1c",
|
||||
"icon": "#1e1e1e",
|
||||
"title": "#eeeeee",
|
||||
"description": "#808080",
|
||||
"edit": {
|
||||
"added": "#b8d6fe",
|
||||
"addedBackground": "#010e24",
|
||||
"addedBackground": "#021631",
|
||||
"removed": "#e92b53",
|
||||
"removedBackground": "#230106",
|
||||
"removedBackground": "#30030a",
|
||||
"modified": "#ffba92",
|
||||
"modifiedBackground": "#150e0c",
|
||||
"lineNumber": "#5d5d5d"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"info": "#56b6c2",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#e06c75"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"info": "#56b6c2",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#e06c75"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#070707",
|
||||
"inputForeground": "#eeeeee",
|
||||
"inputBorder": "#303030",
|
||||
"inputBorderHover": "#393939",
|
||||
"inputBorderFocus": "#be3c07",
|
||||
"inputPlaceholder": "#5d5d5d",
|
||||
"inputDisabled": "#0f0f0f",
|
||||
"inputSelection": "#9b3108",
|
||||
"label": "#808080",
|
||||
"helperText": "#5d5d5d"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#EC5B2B",
|
||||
"fg": "#151313",
|
||||
"border": "#752101",
|
||||
"hover": "#da4f1f",
|
||||
"active": "#be3c07",
|
||||
"disabled": "#393939"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#0e0e0e",
|
||||
"fg": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"hover": "#141414",
|
||||
"active": "#1c1c1c",
|
||||
"disabled": "#0f0f0f"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#eeeeee",
|
||||
"border": "#00000000",
|
||||
"hover": "#141414",
|
||||
"active": "#1c1c1c",
|
||||
"disabled": "#5d5d5d"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#e06c75",
|
||||
"fg": "#151313",
|
||||
"border": "#7c0a25",
|
||||
"hover": "#7c0a25",
|
||||
"active": "#ce2245",
|
||||
"disabled": "#0f0f0f"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"overlay": "#050505d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"inputBackground": "#070707",
|
||||
"selectedBackground": "#531906",
|
||||
"selectedForeground": "#eeeeee",
|
||||
"muted": "#808080"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#141414",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#303030",
|
||||
"icon": "#1e1e1e",
|
||||
"removeHover": "#5c0318"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#050505",
|
||||
"foreground": "#eeeeee",
|
||||
"mutedForeground": "#808080",
|
||||
"border": "#272727",
|
||||
"hover": "#1c1c1c",
|
||||
"active": "#531906"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"selectedBackground": "#531906",
|
||||
"selectedForeground": "#eeeeee"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"allow": "#6ba1e6",
|
||||
"allowBackground": "#042e5d",
|
||||
"deny": "#e06c75",
|
||||
"denyBackground": "#5c0318"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#EC5B2B",
|
||||
"spinnerTrack": "#1c1c1c",
|
||||
"skeleton": "#141414",
|
||||
"shimmer": "#1c1c1c"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#eeeeee33",
|
||||
"thumbHover": "#eeeeee57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#141414",
|
||||
"fg": "#eeeeee",
|
||||
"border": "#303030"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#05363b",
|
||||
"fg": "#56b6c2",
|
||||
"border": "#0d4b51"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#042e5d",
|
||||
"fg": "#6ba1e6",
|
||||
"border": "#09417d"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#531906",
|
||||
"fg": "#EC5B2B",
|
||||
"border": "#752101"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5c0318",
|
||||
"fg": "#e06c75",
|
||||
"border": "#7c0a25"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#0e0e0e",
|
||||
"foreground": "#eeeeee",
|
||||
"border": "#434343",
|
||||
"success": {
|
||||
"background": "#042e5d",
|
||||
"foreground": "#6ba1e6",
|
||||
"border": "#09417d"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#531906",
|
||||
"foreground": "#EC5B2B",
|
||||
"border": "#752101"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5c0318",
|
||||
"foreground": "#e06c75",
|
||||
"border": "#7c0a25"
|
||||
},
|
||||
"info": {
|
||||
"background": "#05363b",
|
||||
"foreground": "#56b6c2",
|
||||
"border": "#0d4b51"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#808080",
|
||||
"title": "#eeeeee",
|
||||
"description": "#808080",
|
||||
"border": "#272727"
|
||||
},
|
||||
"table": {
|
||||
"border": "#272727",
|
||||
"headerBackground": "#0e0e0e",
|
||||
"headerForeground": "#eeeeee",
|
||||
"rowHover": "#1c1c1c",
|
||||
"rowSelected": "#531906"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#EC5B2B",
|
||||
"#56b6c2",
|
||||
"#6ba1e6",
|
||||
"#EC5B2B",
|
||||
"#e06c75"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#be3c07",
|
||||
"selection": "#531906",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #EC5B2B59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "orng-light",
|
||||
"name": "Orng",
|
||||
"description": "Port of OpenCode Orng theme (light variant)",
|
||||
"description": "Ported from OpenCode Orng theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"orng"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#f45214",
|
||||
"base": "#EC5B2B",
|
||||
"hover": "#e14d17",
|
||||
"active": "#e14d17",
|
||||
"active": "#f45214",
|
||||
"foreground": "#000000",
|
||||
"muted": "#f4521480",
|
||||
"muted": "#EC5B2B80",
|
||||
"emphasis": "#e14d17"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#181818",
|
||||
"muted": "#f2f2f2",
|
||||
"muted": "#f4f4f4",
|
||||
"mutedForeground": "#8a8a8a",
|
||||
"elevated": "#f8f8f8",
|
||||
"elevatedForeground": "#181818",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#ffffff33",
|
||||
"subtle": "#e9e9e9"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#c7c7c7",
|
||||
"borderHover": "#b9b9b9",
|
||||
"borderFocus": "#fea88e",
|
||||
"selection": "#ffe3da",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#fea88e",
|
||||
"focusRing": "#fea88e47",
|
||||
"cursor": "#181818",
|
||||
"hover": "#e9e9e9",
|
||||
"active": "#e9e9e9"
|
||||
"borderFocus": "#f45214",
|
||||
"selection": "#18181816",
|
||||
"selectionForeground": "#181818",
|
||||
"focus": "#f45214",
|
||||
"focusRing": "#f4521447",
|
||||
"cursor": "#090909",
|
||||
"hover": "#1818180e",
|
||||
"active": "#18181816"
|
||||
},
|
||||
"status": {
|
||||
"error": "#ce0727",
|
||||
"errorForeground": "#000000",
|
||||
"error": "#d1383d",
|
||||
"errorForeground": "#ffffff",
|
||||
"errorBackground": "#fde3e0",
|
||||
"errorBorder": "#faa8a3",
|
||||
"warning": "#fca6ab",
|
||||
"warning": "#EC5B2B",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#ffe3da",
|
||||
"warningBorder": "#fea88e",
|
||||
"success": "#9ec3fa",
|
||||
"successForeground": "#000000",
|
||||
"success": "#0062d1",
|
||||
"successForeground": "#ffffff",
|
||||
"successBackground": "#deebfe",
|
||||
"successBorder": "#9ec3fa",
|
||||
"info": "#77d1e1",
|
||||
"info": "#318795",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#bff5ff",
|
||||
"infoBorder": "#77d1e1"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#9ec3fa",
|
||||
"open": "#0062d1",
|
||||
"draft": "#8a8a8a",
|
||||
"blocked": "#fca6ab",
|
||||
"blocked": "#EC5B2B",
|
||||
"merged": "#EC5B2B",
|
||||
"closed": "#ce0727"
|
||||
"closed": "#d1383d"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#f2f2f2",
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"comment": "#8a8a8a",
|
||||
"keyword": "#EC5B2B",
|
||||
"string": "#0062d1",
|
||||
"number": "#c94d24",
|
||||
"number": "#EC5B2B",
|
||||
"function": "#318795",
|
||||
"variable": "#d1383d",
|
||||
"type": "#b0851f",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#8a8a8a",
|
||||
"stringEscape": "#EC5B2B",
|
||||
"stringEscape": "#181818",
|
||||
"keywordImport": "#EC5B2B",
|
||||
"storageModifier": "#EC5B2B",
|
||||
"functionCall": "#318795",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#318795",
|
||||
"variableOther": "#d1383d",
|
||||
"variableGlobal": "#EC5B2B",
|
||||
"variableLocal": "#8a8a8a",
|
||||
"variableLocal": "#1a1a1a",
|
||||
"parameter": "#d1383d",
|
||||
"constant": "#EC5B2B",
|
||||
"class": "#b0851f",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#b0851f",
|
||||
"enum": "#b0851f",
|
||||
"typeParameter": "#b0851f",
|
||||
"namespace": "#EC5B2B",
|
||||
"namespace": "#b0851f",
|
||||
"module": "#EC5B2B",
|
||||
"tag": "#EC5B2B",
|
||||
"jsxTag": "#EC5B2B",
|
||||
"tagAttribute": "#318795",
|
||||
"tagAttributeValue": "#0062d1",
|
||||
"boolean": "#c94d24",
|
||||
"boolean": "#EC5B2B",
|
||||
"decorator": "#EC5B2B",
|
||||
"label": "#EC5B2B",
|
||||
"label": "#318795",
|
||||
"punctuation": "#1a1a1a",
|
||||
"macro": "#EC5B2B",
|
||||
"preprocessor": "#EC5B2B",
|
||||
"regex": "#181818",
|
||||
"url": "#EC5B2B",
|
||||
"url": "#e14d17",
|
||||
"key": "#318795",
|
||||
"exception": "#ce0727"
|
||||
"exception": "#d1383d"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#2f60a4",
|
||||
"diffAddedBackground": "#fbfdff",
|
||||
"diffRemoved": "#e9055a",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#f6faff",
|
||||
"diffRemoved": "#ae1a45",
|
||||
"diffRemovedBackground": "#fef7f8",
|
||||
"diffModified": "#FF8C00",
|
||||
"diffModifiedBackground": "#f9eeeb",
|
||||
"diffModifiedBackground": "#fcf7f5",
|
||||
"lineNumber": "#afafaf",
|
||||
"lineNumberActive": "#181818"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"icon": "#323232",
|
||||
"hover": "#e9e9e9"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f4f4f4",
|
||||
"foreground": "#8a8a8a",
|
||||
"border": "#c7c7c7",
|
||||
"icon": "#c9c9c9",
|
||||
"hover": "#e9e9e9",
|
||||
"active": "#ffe3da",
|
||||
"accent": "#EC5B2B",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#ffffff",
|
||||
"userMessage": "#181818",
|
||||
"userMessageBackground": "#f2f2f2",
|
||||
"assistantMessage": "#181818",
|
||||
"assistantMessageBackground": "#ffffff",
|
||||
"timestamp": "#afafaf",
|
||||
"divider": "#e3e3e3",
|
||||
"typing": "#8a8a8a"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#EC5B2B",
|
||||
"heading2": "#EC5B2B",
|
||||
"heading3": "#181818",
|
||||
"heading3": "#090909",
|
||||
"heading4": "#181818",
|
||||
"link": "#EC5B2B",
|
||||
"linkHover": "#318795",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#f2f2f2",
|
||||
"blockquote": "#b0851f",
|
||||
"blockquoteBorder": "#c7c7c7",
|
||||
"listMarker": "#EC5B2B99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#181818",
|
||||
"userMessageBackground": "#ffe3da",
|
||||
"assistantMessage": "#181818",
|
||||
"assistantMessageBackground": "#ffffff",
|
||||
"timestamp": "#8a8a8a",
|
||||
"divider": "#c7c7c7"
|
||||
"listMarker": "#EC5B2B99",
|
||||
"bold": "#EC5B2B",
|
||||
"italic": "#b0851f",
|
||||
"strikethrough": "#8a8a8a",
|
||||
"hr": "#8a8a8a"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f2f2f280",
|
||||
"border": "#c7c7c7b3",
|
||||
"headerHover": "#e9e9e980",
|
||||
"icon": "#8a8a8a",
|
||||
"background": "#f2f2f2",
|
||||
"border": "#e3e3e3",
|
||||
"headerHover": "#e9e9e9",
|
||||
"icon": "#c9c9c9",
|
||||
"title": "#181818",
|
||||
"description": "#8a8a8a",
|
||||
"edit": {
|
||||
"added": "#2f60a4",
|
||||
"addedBackground": "#fbfdff",
|
||||
"addedBackground": "#f6faff",
|
||||
"removed": "#e9055a",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fef7f8",
|
||||
"modified": "#FF8C00",
|
||||
"modifiedBackground": "#fcf7f5",
|
||||
"lineNumber": "#afafaf"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"info": "#318795",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#d1383d"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"info": "#318795",
|
||||
"warning": "#EC5B2B",
|
||||
"error": "#d1383d"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#ffffff",
|
||||
"inputForeground": "#181818",
|
||||
"inputBorder": "#e3e3e3",
|
||||
"inputBorderHover": "#d5d5d5",
|
||||
"inputBorderFocus": "#f45214",
|
||||
"inputPlaceholder": "#afafaf",
|
||||
"inputDisabled": "#ededed",
|
||||
"inputSelection": "#ffe3da",
|
||||
"label": "#8a8a8a",
|
||||
"helperText": "#afafaf"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#EC5B2B",
|
||||
"fg": "#000000",
|
||||
"border": "#fea88e",
|
||||
"hover": "#e14d17",
|
||||
"active": "#f45214",
|
||||
"disabled": "#d0d0d0"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f8f8f8",
|
||||
"fg": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"hover": "#f2f2f2",
|
||||
"active": "#e9e9e9",
|
||||
"disabled": "#ededed"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#181818",
|
||||
"border": "#00000000",
|
||||
"hover": "#f2f2f2",
|
||||
"active": "#e9e9e9",
|
||||
"disabled": "#afafaf"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#d1383d",
|
||||
"fg": "#ffffff",
|
||||
"border": "#faa8a3",
|
||||
"hover": "#fdd5d2",
|
||||
"active": "#e1032b",
|
||||
"disabled": "#ededed"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"overlay": "#ffffff3d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"inputBackground": "#ffffff",
|
||||
"selectedBackground": "#ffe3da",
|
||||
"selectedForeground": "#181818",
|
||||
"muted": "#8a8a8a"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#f2f2f2",
|
||||
"foreground": "#181818",
|
||||
"border": "#e3e3e3",
|
||||
"icon": "#c9c9c9",
|
||||
"removeHover": "#fde3e0"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#181818",
|
||||
"mutedForeground": "#8a8a8a",
|
||||
"border": "#ececec",
|
||||
"hover": "#e9e9e9",
|
||||
"active": "#ffe3da"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"selectedBackground": "#ffe3da",
|
||||
"selectedForeground": "#181818"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"allow": "#0062d1",
|
||||
"allowBackground": "#deebfe",
|
||||
"deny": "#d1383d",
|
||||
"denyBackground": "#fde3e0"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#EC5B2B",
|
||||
"spinnerTrack": "#e9e9e9",
|
||||
"skeleton": "#f2f2f2",
|
||||
"shimmer": "#e9e9e9"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#18181826",
|
||||
"thumbHover": "#18181840"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#f2f2f2",
|
||||
"fg": "#181818",
|
||||
"border": "#e3e3e3"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#bff5ff",
|
||||
"fg": "#318795",
|
||||
"border": "#77d1e1"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#deebfe",
|
||||
"fg": "#0062d1",
|
||||
"border": "#9ec3fa"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#ffe3da",
|
||||
"fg": "#EC5B2B",
|
||||
"border": "#fea88e"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fde3e0",
|
||||
"fg": "#d1383d",
|
||||
"border": "#faa8a3"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#181818",
|
||||
"border": "#c7c7c7",
|
||||
"success": {
|
||||
"background": "#deebfe",
|
||||
"foreground": "#0062d1",
|
||||
"border": "#9ec3fa"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#ffe3da",
|
||||
"foreground": "#EC5B2B",
|
||||
"border": "#fea88e"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fde3e0",
|
||||
"foreground": "#d1383d",
|
||||
"border": "#faa8a3"
|
||||
},
|
||||
"info": {
|
||||
"background": "#bff5ff",
|
||||
"foreground": "#318795",
|
||||
"border": "#77d1e1"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#8a8a8a",
|
||||
"title": "#181818",
|
||||
"description": "#8a8a8a",
|
||||
"border": "#ececec"
|
||||
},
|
||||
"table": {
|
||||
"border": "#ececec",
|
||||
"headerBackground": "#f8f8f8",
|
||||
"headerForeground": "#181818",
|
||||
"rowHover": "#e9e9e9",
|
||||
"rowSelected": "#ffe3da"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#EC5B2B",
|
||||
"#318795",
|
||||
"#0062d1",
|
||||
"#EC5B2B",
|
||||
"#d1383d"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#f45214",
|
||||
"selection": "#ffe3da",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #EC5B2B40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -31,6 +31,8 @@ import nord_dark_Raw from './nord-dark.json';
|
||||
import nord_light_Raw from './nord-light.json';
|
||||
import oc_2_dark_Raw from './oc-2-dark.json';
|
||||
import oc_2_light_Raw from './oc-2-light.json';
|
||||
import openchamber_dark_Raw from './openchamber-dark.json';
|
||||
import openchamber_light_Raw from './openchamber-light.json';
|
||||
import onedarkpro_dark_Raw from './onedarkpro-dark.json';
|
||||
import onedarkpro_light_Raw from './onedarkpro-light.json';
|
||||
import orng_dark_Raw from './orng-dark.json';
|
||||
@@ -57,6 +59,8 @@ import vitesse_dark_dark_Raw from './vitesse-dark-dark.json';
|
||||
import vitesse_light_light_Raw from './vitesse-light-light.json';
|
||||
|
||||
export const presetThemes: Theme[] = [
|
||||
openchamber_dark_Raw as Theme,
|
||||
openchamber_light_Raw as Theme,
|
||||
amoled_dark_Raw as Theme,
|
||||
amoled_light_Raw as Theme,
|
||||
aura_dark_Raw as Theme,
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "rosepine-dark",
|
||||
"name": "Rose Pine",
|
||||
"description": "Port of OpenCode Rose Pine theme (dark variant)",
|
||||
"description": "Ported from OpenCode Rose Pine theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"rosepine"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#51a6b4",
|
||||
"base": "#9ccfd8",
|
||||
"hover": "#5db8c7",
|
||||
"active": "#5db8c7",
|
||||
"active": "#51a6b4",
|
||||
"foreground": "#000000",
|
||||
"muted": "#51a6b480",
|
||||
"emphasis": "#5db8c7"
|
||||
"muted": "#9ccfd880",
|
||||
"emphasis": "#8be4f3"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#0c0a16",
|
||||
"foreground": "#e0def5",
|
||||
"muted": "#1a1824",
|
||||
"muted": "#12101d",
|
||||
"mutedForeground": "#6e6a86",
|
||||
"elevated": "#14121e",
|
||||
"elevatedForeground": "#e0def5",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#0c0a16cc",
|
||||
"subtle": "#211f2c"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#444251",
|
||||
"borderHover": "#4c4a59",
|
||||
"borderFocus": "#0d4a53",
|
||||
"selection": "#06353c",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#0d4a53",
|
||||
"focusRing": "#0d4a5359",
|
||||
"cursor": "#e0def5",
|
||||
"hover": "#211f2c",
|
||||
"active": "#211f2c"
|
||||
"borderFocus": "#51a6b4",
|
||||
"selection": "#e0def51f",
|
||||
"selectionForeground": "#e0def5",
|
||||
"focus": "#51a6b4",
|
||||
"focusRing": "#51a6b461",
|
||||
"cursor": "#fcfcfe",
|
||||
"hover": "#e0def517",
|
||||
"active": "#e0def51f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#d81b69",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#eb6f92",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#590628",
|
||||
"errorBorder": "#780f39",
|
||||
"warning": "#cc7520",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#f6c177",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#402a06",
|
||||
"warningBorder": "#5a3a01",
|
||||
"success": "#0c7699",
|
||||
"success": "#31748f",
|
||||
"successForeground": "#ffffff",
|
||||
"successBackground": "#023446",
|
||||
"successBorder": "#06495f",
|
||||
"info": "#51a6b4",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#9ccfd8",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#06353c",
|
||||
"infoBorder": "#0d4a53"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#0c7699",
|
||||
"open": "#31748f",
|
||||
"draft": "#6e6a86",
|
||||
"blocked": "#cc7520",
|
||||
"merged": "#31748f",
|
||||
"closed": "#d81b69"
|
||||
"blocked": "#f6c177",
|
||||
"merged": "#c4a7e7",
|
||||
"closed": "#eb6f92"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#1a1824",
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"comment": "#6e6a86",
|
||||
"keyword": "#31748f",
|
||||
"string": "#f6c177",
|
||||
"number": "#ebbcba",
|
||||
"number": "#c4a7e7",
|
||||
"function": "#ebbcba",
|
||||
"variable": "#e0def4",
|
||||
"type": "#9ccfd8",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#6e6a86",
|
||||
"stringEscape": "#c4a7e7",
|
||||
"stringEscape": "#e0def5",
|
||||
"keywordImport": "#31748f",
|
||||
"storageModifier": "#31748f",
|
||||
"functionCall": "#ebbcba",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#ebbcba",
|
||||
"variableOther": "#e0def4",
|
||||
"variableGlobal": "#c4a7e7",
|
||||
"variableLocal": "#6e6a86",
|
||||
"variableLocal": "#908caa",
|
||||
"parameter": "#e0def4",
|
||||
"constant": "#c4a7e7",
|
||||
"class": "#9ccfd8",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#9ccfd8",
|
||||
"enum": "#9ccfd8",
|
||||
"typeParameter": "#9ccfd8",
|
||||
"namespace": "#31748f",
|
||||
"namespace": "#9ccfd8",
|
||||
"module": "#31748f",
|
||||
"tag": "#31748f",
|
||||
"jsxTag": "#31748f",
|
||||
"tagAttribute": "#ebbcba",
|
||||
"tagAttributeValue": "#f6c177",
|
||||
"boolean": "#ebbcba",
|
||||
"boolean": "#c4a7e7",
|
||||
"decorator": "#31748f",
|
||||
"label": "#31748f",
|
||||
"label": "#ebbcba",
|
||||
"punctuation": "#908caa",
|
||||
"macro": "#31748f",
|
||||
"preprocessor": "#31748f",
|
||||
"regex": "#e0def5",
|
||||
"url": "#9ccfd8",
|
||||
"url": "#8be4f3",
|
||||
"key": "#ebbcba",
|
||||
"exception": "#d81b69"
|
||||
"exception": "#eb6f92"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#9bdffd",
|
||||
"diffAddedBackground": "#011119",
|
||||
"diffRemoved": "#e13474",
|
||||
"diffRemovedBackground": "#23000b",
|
||||
"diffAddedBackground": "#021a24",
|
||||
"diffRemoved": "#fec0ce",
|
||||
"diffRemovedBackground": "#300112",
|
||||
"diffModified": "#fdcd8b",
|
||||
"diffModifiedBackground": "#292d37",
|
||||
"diffModifiedBackground": "#191925",
|
||||
"lineNumber": "#4c4a5d",
|
||||
"lineNumberActive": "#e0def5"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#0c0a16",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"icon": "#8d8b9e",
|
||||
"hover": "#211f2c"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#12101d",
|
||||
"foreground": "#6e6a86",
|
||||
"border": "#444251",
|
||||
"icon": "#242230",
|
||||
"hover": "#211f2c",
|
||||
"active": "#06353c",
|
||||
"accent": "#9ccfd8",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#0c0a16",
|
||||
"userMessage": "#e0def5",
|
||||
"userMessageBackground": "#1a1824",
|
||||
"assistantMessage": "#e0def5",
|
||||
"assistantMessageBackground": "#0c0a16",
|
||||
"timestamp": "#4c4a5d",
|
||||
"divider": "#33313f",
|
||||
"typing": "#6e6a86"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#c4a7e7",
|
||||
"heading2": "#c4a7e7",
|
||||
"heading3": "#e0def5",
|
||||
"heading3": "#fcfcfe",
|
||||
"heading4": "#e0def5",
|
||||
"link": "#9ccfd8",
|
||||
"linkHover": "#ebbcba",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#1a1824",
|
||||
"blockquote": "#6e6a86",
|
||||
"blockquoteBorder": "#444251",
|
||||
"listMarker": "#9ccfd899"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#e0def5",
|
||||
"userMessageBackground": "#06353c",
|
||||
"assistantMessage": "#e0def5",
|
||||
"assistantMessageBackground": "#0c0a16",
|
||||
"timestamp": "#6e6a86",
|
||||
"divider": "#444251"
|
||||
"listMarker": "#9ccfd899",
|
||||
"bold": "#eb6f92",
|
||||
"italic": "#f6c177",
|
||||
"strikethrough": "#6e6a86",
|
||||
"hr": "#403d52"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#1a182480",
|
||||
"border": "#444251b3",
|
||||
"headerHover": "#211f2c80",
|
||||
"icon": "#6e6a86",
|
||||
"background": "#1a1824",
|
||||
"border": "#33313f",
|
||||
"headerHover": "#211f2c",
|
||||
"icon": "#242230",
|
||||
"title": "#e0def5",
|
||||
"description": "#6e6a86",
|
||||
"edit": {
|
||||
"added": "#9bdffd",
|
||||
"addedBackground": "#011119",
|
||||
"addedBackground": "#021a24",
|
||||
"removed": "#e13474",
|
||||
"removedBackground": "#23000b",
|
||||
"removedBackground": "#300112",
|
||||
"modified": "#fdcd8b",
|
||||
"modifiedBackground": "#191925",
|
||||
"lineNumber": "#4c4a5d"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"info": "#9ccfd8",
|
||||
"warning": "#f6c177",
|
||||
"error": "#eb6f92"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"info": "#9ccfd8",
|
||||
"warning": "#f6c177",
|
||||
"error": "#eb6f92"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#0f0d19",
|
||||
"inputForeground": "#e0def5",
|
||||
"inputBorder": "#33313f",
|
||||
"inputBorderHover": "#3b3948",
|
||||
"inputBorderFocus": "#51a6b4",
|
||||
"inputPlaceholder": "#4c4a5d",
|
||||
"inputDisabled": "#161521",
|
||||
"inputSelection": "#026673",
|
||||
"label": "#6e6a86",
|
||||
"helperText": "#4c4a5d"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#9ccfd8",
|
||||
"fg": "#000000",
|
||||
"border": "#0d4a53",
|
||||
"hover": "#5db8c7",
|
||||
"active": "#51a6b4",
|
||||
"disabled": "#3b3948"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#14121e",
|
||||
"fg": "#e0def5",
|
||||
"border": "#444251",
|
||||
"hover": "#1a1824",
|
||||
"active": "#211f2c",
|
||||
"disabled": "#161521"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#e0def5",
|
||||
"border": "#00000000",
|
||||
"hover": "#1a1824",
|
||||
"active": "#211f2c",
|
||||
"disabled": "#4c4a5d"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#eb6f92",
|
||||
"fg": "#151313",
|
||||
"border": "#780f39",
|
||||
"hover": "#780f39",
|
||||
"active": "#d81b69",
|
||||
"disabled": "#161521"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"overlay": "#0c0a16d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"inputBackground": "#0f0d19",
|
||||
"selectedBackground": "#06353c",
|
||||
"selectedForeground": "#e0def5",
|
||||
"muted": "#6e6a86"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#1a1824",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#33313f",
|
||||
"icon": "#242230",
|
||||
"removeHover": "#590628"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#0c0a16",
|
||||
"foreground": "#e0def5",
|
||||
"mutedForeground": "#6e6a86",
|
||||
"border": "#2b2936",
|
||||
"hover": "#211f2c",
|
||||
"active": "#06353c"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"selectedBackground": "#06353c",
|
||||
"selectedForeground": "#e0def5"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"allow": "#31748f",
|
||||
"allowBackground": "#023446",
|
||||
"deny": "#eb6f92",
|
||||
"denyBackground": "#590628"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#9ccfd8",
|
||||
"spinnerTrack": "#211f2c",
|
||||
"skeleton": "#1a1824",
|
||||
"shimmer": "#211f2c"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#e0def533",
|
||||
"thumbHover": "#e0def557"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#1a1824",
|
||||
"fg": "#e0def5",
|
||||
"border": "#33313f"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#06353c",
|
||||
"fg": "#9ccfd8",
|
||||
"border": "#0d4a53"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#023446",
|
||||
"fg": "#31748f",
|
||||
"border": "#06495f"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#402a06",
|
||||
"fg": "#f6c177",
|
||||
"border": "#5a3a01"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#590628",
|
||||
"fg": "#eb6f92",
|
||||
"border": "#780f39"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#14121e",
|
||||
"foreground": "#e0def5",
|
||||
"border": "#444251",
|
||||
"success": {
|
||||
"background": "#023446",
|
||||
"foreground": "#31748f",
|
||||
"border": "#06495f"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#402a06",
|
||||
"foreground": "#f6c177",
|
||||
"border": "#5a3a01"
|
||||
},
|
||||
"error": {
|
||||
"background": "#590628",
|
||||
"foreground": "#eb6f92",
|
||||
"border": "#780f39"
|
||||
},
|
||||
"info": {
|
||||
"background": "#06353c",
|
||||
"foreground": "#9ccfd8",
|
||||
"border": "#0d4a53"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#6e6a86",
|
||||
"title": "#e0def5",
|
||||
"description": "#6e6a86",
|
||||
"border": "#2b2936"
|
||||
},
|
||||
"table": {
|
||||
"border": "#2b2936",
|
||||
"headerBackground": "#14121e",
|
||||
"headerForeground": "#e0def5",
|
||||
"rowHover": "#211f2c",
|
||||
"rowSelected": "#06353c"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#9ccfd8",
|
||||
"#9ccfd8",
|
||||
"#31748f",
|
||||
"#f6c177",
|
||||
"#eb6f92"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#51a6b4",
|
||||
"selection": "#06353c",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #9ccfd859"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "rosepine-light",
|
||||
"name": "Rose Pine",
|
||||
"description": "Port of OpenCode Rose Pine theme (light variant)",
|
||||
"description": "Ported from OpenCode Rose Pine theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"rosepine"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#157597",
|
||||
"base": "#31748f",
|
||||
"hover": "#136a89",
|
||||
"active": "#136a89",
|
||||
"active": "#157597",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#15759780",
|
||||
"muted": "#31748f80",
|
||||
"emphasis": "#136a89"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#fbf5ef",
|
||||
"foreground": "#454066",
|
||||
"muted": "#f2ebe8",
|
||||
"muted": "#f5ede7",
|
||||
"mutedForeground": "#9893a5",
|
||||
"elevated": "#f6f0ec",
|
||||
"elevatedForeground": "#454066",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#fbf5ef33",
|
||||
"subtle": "#ebe5e3"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#d3cdd2",
|
||||
"borderHover": "#c9c3cb",
|
||||
"borderFocus": "#84cded",
|
||||
"selection": "#d0f0ff",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#84cded",
|
||||
"focusRing": "#84cded47",
|
||||
"cursor": "#454066",
|
||||
"hover": "#ebe5e3",
|
||||
"active": "#ebe5e3"
|
||||
"borderFocus": "#157597",
|
||||
"selection": "#45406616",
|
||||
"selectionForeground": "#454066",
|
||||
"focus": "#157597",
|
||||
"focusRing": "#15759747",
|
||||
"cursor": "#332d53",
|
||||
"hover": "#4540660e",
|
||||
"active": "#45406616"
|
||||
},
|
||||
"status": {
|
||||
"error": "#b34e6e",
|
||||
"error": "#b4637a",
|
||||
"errorForeground": "#000000",
|
||||
"errorBackground": "#fde2e8",
|
||||
"errorBorder": "#faa5bb",
|
||||
"warning": "#fbac84",
|
||||
"warning": "#ea9d34",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#fde6cc",
|
||||
"warningBorder": "#fbaf4f",
|
||||
"success": "#86ccec",
|
||||
"successForeground": "#000000",
|
||||
"success": "#286983",
|
||||
"successForeground": "#ffffff",
|
||||
"successBackground": "#d1f0fe",
|
||||
"successBorder": "#86ccec",
|
||||
"info": "#89cedb",
|
||||
"info": "#56949f",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#c8f3fb",
|
||||
"infoBorder": "#89cedb"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#86ccec",
|
||||
"open": "#286983",
|
||||
"draft": "#9893a5",
|
||||
"blocked": "#fbac84",
|
||||
"merged": "#286983",
|
||||
"closed": "#b34e6e"
|
||||
"blocked": "#ea9d34",
|
||||
"merged": "#907aa9",
|
||||
"closed": "#b4637a"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#f2ebe8",
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"comment": "#9893a5",
|
||||
"keyword": "#286983",
|
||||
"string": "#ea9d34",
|
||||
"number": "#d7827e",
|
||||
"number": "#907aa9",
|
||||
"function": "#d7827e",
|
||||
"variable": "#575279",
|
||||
"type": "#56949f",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#9893a5",
|
||||
"stringEscape": "#907aa9",
|
||||
"stringEscape": "#454066",
|
||||
"keywordImport": "#286983",
|
||||
"storageModifier": "#286983",
|
||||
"functionCall": "#d7827e",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#d7827e",
|
||||
"variableOther": "#575279",
|
||||
"variableGlobal": "#907aa9",
|
||||
"variableLocal": "#9893a5",
|
||||
"variableLocal": "#797593",
|
||||
"parameter": "#575279",
|
||||
"constant": "#907aa9",
|
||||
"class": "#56949f",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#56949f",
|
||||
"enum": "#56949f",
|
||||
"typeParameter": "#56949f",
|
||||
"namespace": "#286983",
|
||||
"namespace": "#56949f",
|
||||
"module": "#286983",
|
||||
"tag": "#286983",
|
||||
"jsxTag": "#286983",
|
||||
"tagAttribute": "#d7827e",
|
||||
"tagAttributeValue": "#ea9d34",
|
||||
"boolean": "#d7827e",
|
||||
"boolean": "#907aa9",
|
||||
"decorator": "#286983",
|
||||
"label": "#286983",
|
||||
"label": "#d7827e",
|
||||
"punctuation": "#797593",
|
||||
"macro": "#286983",
|
||||
"preprocessor": "#286983",
|
||||
"regex": "#454066",
|
||||
"url": "#31748f",
|
||||
"url": "#136a89",
|
||||
"key": "#d7827e",
|
||||
"exception": "#b34e6e"
|
||||
"exception": "#b4637a"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#416677",
|
||||
"diffAddedBackground": "#fafdff",
|
||||
"diffRemoved": "#bd7488",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#f3fbff",
|
||||
"diffRemoved": "#894a5c",
|
||||
"diffRemovedBackground": "#fff7f9",
|
||||
"diffModified": "#7c4e09",
|
||||
"diffModifiedBackground": "#e4e3e0",
|
||||
"diffModifiedBackground": "#f0ece8",
|
||||
"lineNumber": "#bdb9c7",
|
||||
"lineNumberActive": "#454066"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#fbf5ef",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"icon": "#635f83",
|
||||
"hover": "#ebe5e3"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f5ede7",
|
||||
"foreground": "#9893a5",
|
||||
"border": "#d3cdd2",
|
||||
"icon": "#e0cfc9",
|
||||
"hover": "#ebe5e3",
|
||||
"active": "#d0f0ff",
|
||||
"accent": "#31748f",
|
||||
"accentForeground": "#ffffff"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#fbf5ef",
|
||||
"userMessage": "#454066",
|
||||
"userMessageBackground": "#f2ebe8",
|
||||
"assistantMessage": "#454066",
|
||||
"assistantMessageBackground": "#fbf5ef",
|
||||
"timestamp": "#bdb9c7",
|
||||
"divider": "#e7e1e0",
|
||||
"typing": "#9893a5"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#907aa9",
|
||||
"heading2": "#907aa9",
|
||||
"heading3": "#454066",
|
||||
"heading3": "#332d53",
|
||||
"heading4": "#454066",
|
||||
"link": "#31748f",
|
||||
"linkHover": "#d7827e",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#f2ebe8",
|
||||
"blockquote": "#9893a5",
|
||||
"blockquoteBorder": "#d3cdd2",
|
||||
"listMarker": "#31748f99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#454066",
|
||||
"userMessageBackground": "#d0f0ff",
|
||||
"assistantMessage": "#454066",
|
||||
"assistantMessageBackground": "#fbf5ef",
|
||||
"timestamp": "#9893a5",
|
||||
"divider": "#d3cdd2"
|
||||
"listMarker": "#31748f99",
|
||||
"bold": "#b4637a",
|
||||
"italic": "#ea9d34",
|
||||
"strikethrough": "#9893a5",
|
||||
"hr": "#dfdad9"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f2ebe880",
|
||||
"border": "#d3cdd2b3",
|
||||
"headerHover": "#ebe5e380",
|
||||
"icon": "#9893a5",
|
||||
"background": "#f2ebe8",
|
||||
"border": "#e7e1e0",
|
||||
"headerHover": "#ebe5e3",
|
||||
"icon": "#e0cfc9",
|
||||
"title": "#454066",
|
||||
"description": "#9893a5",
|
||||
"edit": {
|
||||
"added": "#416677",
|
||||
"addedBackground": "#fafdff",
|
||||
"addedBackground": "#f3fbff",
|
||||
"removed": "#bd7488",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fff7f9",
|
||||
"modified": "#7c4e09",
|
||||
"modifiedBackground": "#f0ece8",
|
||||
"lineNumber": "#bdb9c7"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"info": "#56949f",
|
||||
"warning": "#ea9d34",
|
||||
"error": "#b4637a"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"info": "#56949f",
|
||||
"warning": "#ea9d34",
|
||||
"error": "#b4637a"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#fbf5ef",
|
||||
"inputForeground": "#454066",
|
||||
"inputBorder": "#e7e1e0",
|
||||
"inputBorderHover": "#ddd7d9",
|
||||
"inputBorderFocus": "#157597",
|
||||
"inputPlaceholder": "#bdb9c7",
|
||||
"inputDisabled": "#f2e9e2",
|
||||
"inputSelection": "#d0f0ff",
|
||||
"label": "#9893a5",
|
||||
"helperText": "#bdb9c7"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#31748f",
|
||||
"fg": "#ffffff",
|
||||
"border": "#84cded",
|
||||
"hover": "#136a89",
|
||||
"active": "#157597",
|
||||
"disabled": "#dad4d7"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f6f0ec",
|
||||
"fg": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"hover": "#f2ebe8",
|
||||
"active": "#ebe5e3",
|
||||
"disabled": "#f2e9e2"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#454066",
|
||||
"border": "#00000000",
|
||||
"hover": "#f2ebe8",
|
||||
"active": "#ebe5e3",
|
||||
"disabled": "#bdb9c7"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#b4637a",
|
||||
"fg": "#000000",
|
||||
"border": "#faa5bb",
|
||||
"hover": "#fdd3dd",
|
||||
"active": "#be5b79",
|
||||
"disabled": "#f2e9e2"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"overlay": "#fbf5ef3d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"inputBackground": "#fbf5ef",
|
||||
"selectedBackground": "#d0f0ff",
|
||||
"selectedForeground": "#454066",
|
||||
"muted": "#9893a5"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#f2ebe8",
|
||||
"foreground": "#454066",
|
||||
"border": "#e7e1e0",
|
||||
"icon": "#e0cfc9",
|
||||
"removeHover": "#fde2e8"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#fbf5ef",
|
||||
"foreground": "#454066",
|
||||
"mutedForeground": "#9893a5",
|
||||
"border": "#ede7e5",
|
||||
"hover": "#ebe5e3",
|
||||
"active": "#d0f0ff"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"selectedBackground": "#d0f0ff",
|
||||
"selectedForeground": "#454066"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"allow": "#286983",
|
||||
"allowBackground": "#d1f0fe",
|
||||
"deny": "#b4637a",
|
||||
"denyBackground": "#fde2e8"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#31748f",
|
||||
"spinnerTrack": "#ebe5e3",
|
||||
"skeleton": "#f2ebe8",
|
||||
"shimmer": "#ebe5e3"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#45406626",
|
||||
"thumbHover": "#45406640"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#f2ebe8",
|
||||
"fg": "#454066",
|
||||
"border": "#e7e1e0"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#c8f3fb",
|
||||
"fg": "#56949f",
|
||||
"border": "#89cedb"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#d1f0fe",
|
||||
"fg": "#286983",
|
||||
"border": "#86ccec"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#fde6cc",
|
||||
"fg": "#ea9d34",
|
||||
"border": "#fbaf4f"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fde2e8",
|
||||
"fg": "#b4637a",
|
||||
"border": "#faa5bb"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f6f0ec",
|
||||
"foreground": "#454066",
|
||||
"border": "#d3cdd2",
|
||||
"success": {
|
||||
"background": "#d1f0fe",
|
||||
"foreground": "#286983",
|
||||
"border": "#86ccec"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#fde6cc",
|
||||
"foreground": "#ea9d34",
|
||||
"border": "#fbaf4f"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fde2e8",
|
||||
"foreground": "#b4637a",
|
||||
"border": "#faa5bb"
|
||||
},
|
||||
"info": {
|
||||
"background": "#c8f3fb",
|
||||
"foreground": "#56949f",
|
||||
"border": "#89cedb"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#9893a5",
|
||||
"title": "#454066",
|
||||
"description": "#9893a5",
|
||||
"border": "#ede7e5"
|
||||
},
|
||||
"table": {
|
||||
"border": "#ede7e5",
|
||||
"headerBackground": "#f6f0ec",
|
||||
"headerForeground": "#454066",
|
||||
"rowHover": "#ebe5e3",
|
||||
"rowSelected": "#d0f0ff"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#31748f",
|
||||
"#56949f",
|
||||
"#286983",
|
||||
"#ea9d34",
|
||||
"#b4637a"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#157597",
|
||||
"selection": "#d0f0ff",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #31748f40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "shadesofpurple-dark",
|
||||
"name": "Shades of Purple",
|
||||
"description": "Port of OpenCode Shades of Purple theme (dark variant)",
|
||||
"description": "Ported from OpenCode Shades of Purple theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"shadesofpurple"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#ab4afb",
|
||||
"base": "#c792ff",
|
||||
"hover": "#b569fb",
|
||||
"active": "#b569fb",
|
||||
"active": "#ab4afb",
|
||||
"foreground": "#000000",
|
||||
"muted": "#ab4afb80",
|
||||
"emphasis": "#b569fb"
|
||||
"muted": "#c792ff80",
|
||||
"emphasis": "#dfc8fb"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#0e051d",
|
||||
"foreground": "#f5f0fe",
|
||||
"muted": "#1d142c",
|
||||
"muted": "#150b24",
|
||||
"mutedForeground": "#d1ccd8",
|
||||
"elevated": "#170e25",
|
||||
"elevatedForeground": "#f5f0fe",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#0e051dcc",
|
||||
"subtle": "#251c33"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#4b4359",
|
||||
"borderHover": "#544c62",
|
||||
"borderFocus": "#5c0092",
|
||||
"selection": "#410a67",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#5c0092",
|
||||
"focusRing": "#5c009259",
|
||||
"cursor": "#f5f0fe",
|
||||
"hover": "#251c33",
|
||||
"active": "#251c33"
|
||||
"borderFocus": "#ab4afb",
|
||||
"selection": "#f5f0fe1f",
|
||||
"selectionForeground": "#f5f0fe",
|
||||
"focus": "#ab4afb",
|
||||
"focusRing": "#ab4afb61",
|
||||
"cursor": "#fefeff",
|
||||
"hover": "#f5f0fe17",
|
||||
"active": "#f5f0fe1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#e816a4",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#ff7ac6",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#55073a",
|
||||
"errorBorder": "#731051",
|
||||
"warning": "#d58611",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#ffd580",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#3d2c02",
|
||||
"warningBorder": "#543e06",
|
||||
"success": "#0eb67d",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#7be0b0",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#053825",
|
||||
"successBorder": "#0d4e35",
|
||||
"info": "#22a7dc",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#7dd4ff",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#003448",
|
||||
"infoBorder": "#034862"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#0eb67d",
|
||||
"open": "#7be0b0",
|
||||
"draft": "#d1ccd8",
|
||||
"blocked": "#d58611",
|
||||
"merged": "#ff9d00",
|
||||
"closed": "#e816a4"
|
||||
"blocked": "#ffd580",
|
||||
"merged": "#ff628c",
|
||||
"closed": "#ff7ac6"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#1d142c",
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"comment": "#b362ff",
|
||||
"keyword": "#ff9d00",
|
||||
"string": "#a5ff90",
|
||||
"number": "#fb94ff",
|
||||
"number": "#ff628c",
|
||||
"function": "#9effff",
|
||||
"variable": "#fefeff",
|
||||
"type": "#fad000",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#b362ff",
|
||||
"stringEscape": "#ff628c",
|
||||
"stringEscape": "#f5f0fe",
|
||||
"keywordImport": "#ff9d00",
|
||||
"storageModifier": "#ff9d00",
|
||||
"functionCall": "#9effff",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#fad000",
|
||||
"enum": "#fad000",
|
||||
"typeParameter": "#fad000",
|
||||
"namespace": "#ff9d00",
|
||||
"namespace": "#fad000",
|
||||
"module": "#ff9d00",
|
||||
"tag": "#ff9d00",
|
||||
"jsxTag": "#ff9d00",
|
||||
"tagAttribute": "#9effff",
|
||||
"tagAttributeValue": "#a5ff90",
|
||||
"boolean": "#fb94ff",
|
||||
"boolean": "#ff628c",
|
||||
"decorator": "#ff9d00",
|
||||
"label": "#ff9d00",
|
||||
"label": "#9effff",
|
||||
"punctuation": "#d1ccd8",
|
||||
"macro": "#ff9d00",
|
||||
"preprocessor": "#ff9d00",
|
||||
"regex": "#f5f0fe",
|
||||
"url": "#e7d6fd",
|
||||
"url": "#dfc8fb",
|
||||
"key": "#9effff",
|
||||
"exception": "#e816a4"
|
||||
"exception": "#ff7ac6"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#24f6c0",
|
||||
"diffAddedBackground": "#01130c",
|
||||
"diffRemoved": "#de299a",
|
||||
"diffRemovedBackground": "#210113",
|
||||
"diffAddedBackground": "#021c14",
|
||||
"diffRemoved": "#fdbfdc",
|
||||
"diffRemovedBackground": "#2d031c",
|
||||
"diffModified": "#fee2ad",
|
||||
"diffModifiedBackground": "#2d213f",
|
||||
"diffModifiedBackground": "#1c112c",
|
||||
"lineNumber": "#b4b0ba",
|
||||
"lineNumberActive": "#f5f0fe"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#0e051d",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"icon": "#9a93a8",
|
||||
"hover": "#251c33"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#150b24",
|
||||
"foreground": "#d1ccd8",
|
||||
"border": "#4b4359",
|
||||
"icon": "#282039",
|
||||
"hover": "#251c33",
|
||||
"active": "#410a67",
|
||||
"accent": "#c792ff",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#0e051d",
|
||||
"userMessage": "#f5f0fe",
|
||||
"userMessageBackground": "#1d142c",
|
||||
"assistantMessage": "#f5f0fe",
|
||||
"assistantMessageBackground": "#0e051d",
|
||||
"timestamp": "#b4b0ba",
|
||||
"divider": "#393047",
|
||||
"typing": "#d1ccd8"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#e7d6fd",
|
||||
"heading2": "#e7d6fd",
|
||||
"heading3": "#f5f0fe",
|
||||
"heading3": "#fefeff",
|
||||
"heading4": "#f5f0fe",
|
||||
"link": "#e7d6fd",
|
||||
"linkHover": "#bae6fd",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#1d142c",
|
||||
"blockquote": "#fee2ad",
|
||||
"blockquoteBorder": "#4b4359",
|
||||
"listMarker": "#e7d6fd99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#f5f0fe",
|
||||
"userMessageBackground": "#410a67",
|
||||
"assistantMessage": "#f5f0fe",
|
||||
"assistantMessageBackground": "#0e051d",
|
||||
"timestamp": "#d1ccd8",
|
||||
"divider": "#4b4359"
|
||||
"listMarker": "#e7d6fd99",
|
||||
"bold": "#fcd0e6",
|
||||
"italic": "#fee2ad",
|
||||
"strikethrough": "#d1ccd8",
|
||||
"hr": "#4b4359"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#1d142c80",
|
||||
"border": "#4b4359b3",
|
||||
"headerHover": "#251c3380",
|
||||
"icon": "#d1ccd8",
|
||||
"background": "#1d142c",
|
||||
"border": "#393047",
|
||||
"headerHover": "#251c33",
|
||||
"icon": "#282039",
|
||||
"title": "#f5f0fe",
|
||||
"description": "#d1ccd8",
|
||||
"edit": {
|
||||
"added": "#24f6c0",
|
||||
"addedBackground": "#01130c",
|
||||
"addedBackground": "#021c14",
|
||||
"removed": "#de299a",
|
||||
"removedBackground": "#210113",
|
||||
"removedBackground": "#2d031c",
|
||||
"modified": "#fee2ad",
|
||||
"modifiedBackground": "#1c112c",
|
||||
"lineNumber": "#b4b0ba"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"info": "#7dd4ff",
|
||||
"warning": "#ffd580",
|
||||
"error": "#ff7ac6"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"info": "#7dd4ff",
|
||||
"warning": "#ffd580",
|
||||
"error": "#ff7ac6"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#110820",
|
||||
"inputForeground": "#f5f0fe",
|
||||
"inputBorder": "#393047",
|
||||
"inputBorderHover": "#423a50",
|
||||
"inputBorderFocus": "#ab4afb",
|
||||
"inputPlaceholder": "#b4b0ba",
|
||||
"inputDisabled": "#191029",
|
||||
"inputSelection": "#7b0bc0",
|
||||
"label": "#d1ccd8",
|
||||
"helperText": "#b4b0ba"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#c792ff",
|
||||
"fg": "#000000",
|
||||
"border": "#5c0092",
|
||||
"hover": "#b569fb",
|
||||
"active": "#ab4afb",
|
||||
"disabled": "#423a50"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#170e25",
|
||||
"fg": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"hover": "#1d142c",
|
||||
"active": "#251c33",
|
||||
"disabled": "#191029"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#f5f0fe",
|
||||
"border": "#00000000",
|
||||
"hover": "#1d142c",
|
||||
"active": "#251c33",
|
||||
"disabled": "#b4b0ba"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#ff7ac6",
|
||||
"fg": "#151313",
|
||||
"border": "#731051",
|
||||
"hover": "#731051",
|
||||
"active": "#e816a4",
|
||||
"disabled": "#191029"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"overlay": "#0e051dd6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"inputBackground": "#110820",
|
||||
"selectedBackground": "#410a67",
|
||||
"selectedForeground": "#f5f0fe",
|
||||
"muted": "#d1ccd8"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#1d142c",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#393047",
|
||||
"icon": "#282039",
|
||||
"removeHover": "#55073a"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#0e051d",
|
||||
"foreground": "#f5f0fe",
|
||||
"mutedForeground": "#d1ccd8",
|
||||
"border": "#2f273e",
|
||||
"hover": "#251c33",
|
||||
"active": "#410a67"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"selectedBackground": "#410a67",
|
||||
"selectedForeground": "#f5f0fe"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"allow": "#7be0b0",
|
||||
"allowBackground": "#053825",
|
||||
"deny": "#ff7ac6",
|
||||
"denyBackground": "#55073a"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#c792ff",
|
||||
"spinnerTrack": "#251c33",
|
||||
"skeleton": "#1d142c",
|
||||
"shimmer": "#251c33"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#f5f0fe33",
|
||||
"thumbHover": "#f5f0fe57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#1d142c",
|
||||
"fg": "#f5f0fe",
|
||||
"border": "#393047"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#003448",
|
||||
"fg": "#7dd4ff",
|
||||
"border": "#034862"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#053825",
|
||||
"fg": "#7be0b0",
|
||||
"border": "#0d4e35"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#3d2c02",
|
||||
"fg": "#ffd580",
|
||||
"border": "#543e06"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#55073a",
|
||||
"fg": "#ff7ac6",
|
||||
"border": "#731051"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#170e25",
|
||||
"foreground": "#f5f0fe",
|
||||
"border": "#4b4359",
|
||||
"success": {
|
||||
"background": "#053825",
|
||||
"foreground": "#7be0b0",
|
||||
"border": "#0d4e35"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#3d2c02",
|
||||
"foreground": "#ffd580",
|
||||
"border": "#543e06"
|
||||
},
|
||||
"error": {
|
||||
"background": "#55073a",
|
||||
"foreground": "#ff7ac6",
|
||||
"border": "#731051"
|
||||
},
|
||||
"info": {
|
||||
"background": "#003448",
|
||||
"foreground": "#7dd4ff",
|
||||
"border": "#034862"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#d1ccd8",
|
||||
"title": "#f5f0fe",
|
||||
"description": "#d1ccd8",
|
||||
"border": "#2f273e"
|
||||
},
|
||||
"table": {
|
||||
"border": "#2f273e",
|
||||
"headerBackground": "#170e25",
|
||||
"headerForeground": "#f5f0fe",
|
||||
"rowHover": "#251c33",
|
||||
"rowSelected": "#410a67"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#c792ff",
|
||||
"#7dd4ff",
|
||||
"#7be0b0",
|
||||
"#ffd580",
|
||||
"#ff7ac6"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#ab4afb",
|
||||
"selection": "#410a67",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #c792ff59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "shadesofpurple-light",
|
||||
"name": "Shades of Purple",
|
||||
"description": "Port of OpenCode Shades of Purple theme (light variant)",
|
||||
"description": "Ported from OpenCode Shades of Purple theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"shadesofpurple"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#7a5bf7",
|
||||
"base": "#7a5af8",
|
||||
"hover": "#7242fb",
|
||||
"active": "#7242fb",
|
||||
"active": "#7a5bf7",
|
||||
"foreground": "#000000",
|
||||
"muted": "#7a5bf780",
|
||||
"muted": "#7a5af880",
|
||||
"emphasis": "#7242fb"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#f8effe",
|
||||
"foreground": "#32224f",
|
||||
"muted": "#ede4f4",
|
||||
"muted": "#f0e6f6",
|
||||
"mutedForeground": "#4e406b",
|
||||
"elevated": "#f3e9f9",
|
||||
"elevatedForeground": "#32224f",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#f8effe33",
|
||||
"subtle": "#e6dcee"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#cabfd6",
|
||||
"borderHover": "#bfb4cc",
|
||||
"borderFocus": "#bcb9fb",
|
||||
"selection": "#e8e7ff",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#bcb9fb",
|
||||
"focusRing": "#bcb9fb47",
|
||||
"cursor": "#32224f",
|
||||
"hover": "#e6dcee",
|
||||
"active": "#e6dcee"
|
||||
"borderFocus": "#7a5bf7",
|
||||
"selection": "#32224f16",
|
||||
"selectionForeground": "#32224f",
|
||||
"focus": "#7a5bf7",
|
||||
"focusRing": "#7a5bf747",
|
||||
"cursor": "#210f3d",
|
||||
"hover": "#32224f0e",
|
||||
"active": "#32224f16"
|
||||
},
|
||||
"status": {
|
||||
"error": "#fb50ce",
|
||||
"error": "#ff6bd5",
|
||||
"errorForeground": "#000000",
|
||||
"errorBackground": "#fee0f2",
|
||||
"errorBorder": "#fb9ddd",
|
||||
"warning": "#fdae57",
|
||||
"warning": "#f7c948",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#fee8b1",
|
||||
"warningBorder": "#ecba16",
|
||||
"success": "#35e29f",
|
||||
"success": "#3dd598",
|
||||
"successForeground": "#000000",
|
||||
"successBackground": "#b0fed6",
|
||||
"successBorder": "#35e29f",
|
||||
"info": "#63d1fa",
|
||||
"info": "#62d4ff",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#d0f0fe",
|
||||
"infoBorder": "#63d1fa"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#35e29f",
|
||||
"open": "#3dd598",
|
||||
"draft": "#4e406b",
|
||||
"blocked": "#fdae57",
|
||||
"merged": "#c45f00",
|
||||
"closed": "#fb50ce"
|
||||
"blocked": "#f7c948",
|
||||
"merged": "#e04d7a",
|
||||
"closed": "#ff6bd5"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#ede4f4",
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"comment": "#8e4be3",
|
||||
"keyword": "#c45f00",
|
||||
"string": "#2f8b32",
|
||||
"number": "#a13bd6",
|
||||
"number": "#e04d7a",
|
||||
"function": "#008fb8",
|
||||
"variable": "#210f3d",
|
||||
"type": "#9d7a00",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#8e4be3",
|
||||
"stringEscape": "#e04d7a",
|
||||
"stringEscape": "#32224f",
|
||||
"keywordImport": "#c45f00",
|
||||
"storageModifier": "#c45f00",
|
||||
"functionCall": "#008fb8",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#008fb8",
|
||||
"variableOther": "#210f3d",
|
||||
"variableGlobal": "#e04d7a",
|
||||
"variableLocal": "#4e406b",
|
||||
"variableLocal": "#32224f",
|
||||
"parameter": "#210f3d",
|
||||
"constant": "#e04d7a",
|
||||
"class": "#9d7a00",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#9d7a00",
|
||||
"enum": "#9d7a00",
|
||||
"typeParameter": "#9d7a00",
|
||||
"namespace": "#c45f00",
|
||||
"namespace": "#9d7a00",
|
||||
"module": "#c45f00",
|
||||
"tag": "#c45f00",
|
||||
"jsxTag": "#c45f00",
|
||||
"tagAttribute": "#008fb8",
|
||||
"tagAttributeValue": "#2f8b32",
|
||||
"boolean": "#a13bd6",
|
||||
"boolean": "#e04d7a",
|
||||
"decorator": "#c45f00",
|
||||
"label": "#c45f00",
|
||||
"label": "#008fb8",
|
||||
"punctuation": "#32224f",
|
||||
"macro": "#c45f00",
|
||||
"preprocessor": "#c45f00",
|
||||
"regex": "#32224f",
|
||||
"url": "#5c1adc",
|
||||
"url": "#7242fb",
|
||||
"key": "#008fb8",
|
||||
"exception": "#fb50ce"
|
||||
"exception": "#ff6bd5"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#386d50",
|
||||
"diffAddedBackground": "#f9fefb",
|
||||
"diffRemoved": "#fcb1e9",
|
||||
"diffRemovedBackground": "#fffcfe",
|
||||
"diffAddedBackground": "#f2fdf5",
|
||||
"diffRemoved": "#854777",
|
||||
"diffRemovedBackground": "#fff7fc",
|
||||
"diffModified": "#6e560d",
|
||||
"diffModifiedBackground": "#e7dff7",
|
||||
"diffModifiedBackground": "#f0e7fa",
|
||||
"lineNumber": "#695e82",
|
||||
"lineNumberActive": "#32224f"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#f8effe",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"icon": "#4e406b",
|
||||
"hover": "#e6dcee"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f0e6f6",
|
||||
"foreground": "#4e406b",
|
||||
"border": "#cabfd6",
|
||||
"icon": "#cec3d9",
|
||||
"hover": "#e6dcee",
|
||||
"active": "#e8e7ff",
|
||||
"accent": "#7a5af8",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#f8effe",
|
||||
"userMessage": "#32224f",
|
||||
"userMessageBackground": "#ede4f4",
|
||||
"assistantMessage": "#32224f",
|
||||
"assistantMessageBackground": "#f8effe",
|
||||
"timestamp": "#695e82",
|
||||
"divider": "#e1d7ea",
|
||||
"typing": "#4e406b"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#5c1adc",
|
||||
"heading2": "#5c1adc",
|
||||
"heading3": "#32224f",
|
||||
"heading3": "#210f3d",
|
||||
"heading4": "#32224f",
|
||||
"link": "#5c1adc",
|
||||
"linkHover": "#03637f",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#ede4f4",
|
||||
"blockquote": "#6e560d",
|
||||
"blockquoteBorder": "#cabfd6",
|
||||
"listMarker": "#5c1adc99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#32224f",
|
||||
"userMessageBackground": "#e8e7ff",
|
||||
"assistantMessage": "#32224f",
|
||||
"assistantMessageBackground": "#f8effe",
|
||||
"timestamp": "#4e406b",
|
||||
"divider": "#cabfd6"
|
||||
"listMarker": "#5c1adc99",
|
||||
"bold": "#990d7a",
|
||||
"italic": "#6e560d",
|
||||
"strikethrough": "#4e406b",
|
||||
"hr": "#cabfd6"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#ede4f480",
|
||||
"border": "#cabfd6b3",
|
||||
"headerHover": "#e6dcee80",
|
||||
"icon": "#4e406b",
|
||||
"background": "#ede4f4",
|
||||
"border": "#e1d7ea",
|
||||
"headerHover": "#e6dcee",
|
||||
"icon": "#cec3d9",
|
||||
"title": "#32224f",
|
||||
"description": "#4e406b",
|
||||
"edit": {
|
||||
"added": "#386d50",
|
||||
"addedBackground": "#f9fefb",
|
||||
"addedBackground": "#f2fdf5",
|
||||
"removed": "#fcb1e9",
|
||||
"removedBackground": "#fffcfe",
|
||||
"removedBackground": "#fff7fc",
|
||||
"modified": "#6e560d",
|
||||
"modifiedBackground": "#f0e7fa",
|
||||
"lineNumber": "#695e82"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"info": "#62d4ff",
|
||||
"warning": "#f7c948",
|
||||
"error": "#ff6bd5"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"info": "#62d4ff",
|
||||
"warning": "#f7c948",
|
||||
"error": "#ff6bd5"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#f8effe",
|
||||
"inputForeground": "#32224f",
|
||||
"inputBorder": "#e1d7ea",
|
||||
"inputBorderHover": "#d5cbe0",
|
||||
"inputBorderFocus": "#7a5bf7",
|
||||
"inputPlaceholder": "#695e82",
|
||||
"inputDisabled": "#eae0f2",
|
||||
"inputSelection": "#e8e7ff",
|
||||
"label": "#4e406b",
|
||||
"helperText": "#695e82"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#7a5af8",
|
||||
"fg": "#000000",
|
||||
"border": "#bcb9fb",
|
||||
"hover": "#7242fb",
|
||||
"active": "#7a5bf7",
|
||||
"disabled": "#d1c7dc"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f3e9f9",
|
||||
"fg": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"hover": "#ede4f4",
|
||||
"active": "#e6dcee",
|
||||
"disabled": "#eae0f2"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#32224f",
|
||||
"border": "#00000000",
|
||||
"hover": "#ede4f4",
|
||||
"active": "#e6dcee",
|
||||
"disabled": "#695e82"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#ff6bd5",
|
||||
"fg": "#000000",
|
||||
"border": "#fb9ddd",
|
||||
"hover": "#fed0ed",
|
||||
"active": "#fe6cd5",
|
||||
"disabled": "#eae0f2"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"overlay": "#f8effe3d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"inputBackground": "#f8effe",
|
||||
"selectedBackground": "#e8e7ff",
|
||||
"selectedForeground": "#32224f",
|
||||
"muted": "#4e406b"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#ede4f4",
|
||||
"foreground": "#32224f",
|
||||
"border": "#e1d7ea",
|
||||
"icon": "#cec3d9",
|
||||
"removeHover": "#fee0f2"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#f8effe",
|
||||
"foreground": "#32224f",
|
||||
"mutedForeground": "#4e406b",
|
||||
"border": "#e8dff0",
|
||||
"hover": "#e6dcee",
|
||||
"active": "#e8e7ff"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"selectedBackground": "#e8e7ff",
|
||||
"selectedForeground": "#32224f"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"allow": "#3dd598",
|
||||
"allowBackground": "#b0fed6",
|
||||
"deny": "#ff6bd5",
|
||||
"denyBackground": "#fee0f2"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#7a5af8",
|
||||
"spinnerTrack": "#e6dcee",
|
||||
"skeleton": "#ede4f4",
|
||||
"shimmer": "#e6dcee"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#32224f26",
|
||||
"thumbHover": "#32224f40"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#ede4f4",
|
||||
"fg": "#32224f",
|
||||
"border": "#e1d7ea"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#d0f0fe",
|
||||
"fg": "#62d4ff",
|
||||
"border": "#63d1fa"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#b0fed6",
|
||||
"fg": "#3dd598",
|
||||
"border": "#35e29f"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#fee8b1",
|
||||
"fg": "#f7c948",
|
||||
"border": "#ecba16"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fee0f2",
|
||||
"fg": "#ff6bd5",
|
||||
"border": "#fb9ddd"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f3e9f9",
|
||||
"foreground": "#32224f",
|
||||
"border": "#cabfd6",
|
||||
"success": {
|
||||
"background": "#b0fed6",
|
||||
"foreground": "#3dd598",
|
||||
"border": "#35e29f"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#fee8b1",
|
||||
"foreground": "#f7c948",
|
||||
"border": "#ecba16"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fee0f2",
|
||||
"foreground": "#ff6bd5",
|
||||
"border": "#fb9ddd"
|
||||
},
|
||||
"info": {
|
||||
"background": "#d0f0fe",
|
||||
"foreground": "#62d4ff",
|
||||
"border": "#63d1fa"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#4e406b",
|
||||
"title": "#32224f",
|
||||
"description": "#4e406b",
|
||||
"border": "#e8dff0"
|
||||
},
|
||||
"table": {
|
||||
"border": "#e8dff0",
|
||||
"headerBackground": "#f3e9f9",
|
||||
"headerForeground": "#32224f",
|
||||
"rowHover": "#e6dcee",
|
||||
"rowSelected": "#e8e7ff"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#7a5af8",
|
||||
"#62d4ff",
|
||||
"#3dd598",
|
||||
"#f7c948",
|
||||
"#ff6bd5"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#7a5bf7",
|
||||
"selection": "#e8e7ff",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #7a5af840"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "vercel-dark",
|
||||
"name": "Vercel",
|
||||
"description": "Port of OpenCode Vercel theme (dark variant)",
|
||||
"description": "Ported from OpenCode Vercel theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"vercel"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#0164db",
|
||||
"base": "#0070F3",
|
||||
"hover": "#207dfc",
|
||||
"active": "#207dfc",
|
||||
"active": "#2280d6",
|
||||
"foreground": "#ffffff",
|
||||
"muted": "#0164db80",
|
||||
"emphasis": "#207dfc"
|
||||
"muted": "#0070F380",
|
||||
"emphasis": "#b6d7fc"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#000000",
|
||||
"foreground": "#ededed",
|
||||
"muted": "#0f0f0f",
|
||||
"muted": "#000000",
|
||||
"mutedForeground": "#878787",
|
||||
"elevated": "#090909",
|
||||
"elevatedForeground": "#ededed",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#000000cc",
|
||||
"subtle": "#171717"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#3f3f3f",
|
||||
"borderHover": "#484848",
|
||||
"borderFocus": "#0e4374",
|
||||
"selection": "#063056",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#0e4374",
|
||||
"focusRing": "#0e437459",
|
||||
"cursor": "#ededed",
|
||||
"hover": "#171717",
|
||||
"active": "#171717"
|
||||
"borderFocus": "#2280d6",
|
||||
"selection": "#ededed1f",
|
||||
"selectionForeground": "#ededed",
|
||||
"focus": "#2280d6",
|
||||
"focusRing": "#2280d661",
|
||||
"cursor": "#fdfdfd",
|
||||
"hover": "#ededed17",
|
||||
"active": "#ededed1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#c41e2f",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#E5484D",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#5b0710",
|
||||
"errorBorder": "#7b101b",
|
||||
"warning": "#c37018",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#FFB224",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#412900",
|
||||
"warningBorder": "#593b03",
|
||||
"success": "#148434",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#46A758",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#023a12",
|
||||
"successBorder": "#08501d",
|
||||
"info": "#2280d6",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#52A8FF",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#063056",
|
||||
"infoBorder": "#0e4374"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#148434",
|
||||
"open": "#46A758",
|
||||
"draft": "#878787",
|
||||
"blocked": "#c37018",
|
||||
"merged": "#F75590",
|
||||
"closed": "#c41e2f"
|
||||
"blocked": "#FFB224",
|
||||
"merged": "#F2A700",
|
||||
"closed": "#E5484D"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#0f0f0f",
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"comment": "#878787",
|
||||
"keyword": "#F75590",
|
||||
"string": "#63C46D",
|
||||
"number": "#BF7AF0",
|
||||
"number": "#F2A700",
|
||||
"function": "#0AC7AC",
|
||||
"variable": "#52A8FF",
|
||||
"type": "#0AC7AC",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#878787",
|
||||
"stringEscape": "#F2A700",
|
||||
"stringEscape": "#ededed",
|
||||
"keywordImport": "#F75590",
|
||||
"storageModifier": "#F75590",
|
||||
"functionCall": "#0AC7AC",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#0AC7AC",
|
||||
"variableOther": "#52A8FF",
|
||||
"variableGlobal": "#F2A700",
|
||||
"variableLocal": "#878787",
|
||||
"variableLocal": "#EDEDED",
|
||||
"parameter": "#52A8FF",
|
||||
"constant": "#F2A700",
|
||||
"class": "#0AC7AC",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#0AC7AC",
|
||||
"enum": "#0AC7AC",
|
||||
"typeParameter": "#0AC7AC",
|
||||
"namespace": "#F75590",
|
||||
"namespace": "#0AC7AC",
|
||||
"module": "#F75590",
|
||||
"tag": "#F75590",
|
||||
"jsxTag": "#F75590",
|
||||
"tagAttribute": "#0AC7AC",
|
||||
"tagAttributeValue": "#63C46D",
|
||||
"boolean": "#BF7AF0",
|
||||
"boolean": "#F2A700",
|
||||
"decorator": "#F75590",
|
||||
"label": "#F75590",
|
||||
"label": "#0AC7AC",
|
||||
"punctuation": "#EDEDED",
|
||||
"macro": "#F75590",
|
||||
"preprocessor": "#F75590",
|
||||
"regex": "#ededed",
|
||||
"url": "#52A8FF",
|
||||
"url": "#b6d7fc",
|
||||
"key": "#0AC7AC",
|
||||
"exception": "#c41e2f"
|
||||
"exception": "#E5484D"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#38fc61",
|
||||
"diffAddedBackground": "#001402",
|
||||
"diffRemoved": "#f22942",
|
||||
"diffRemovedBackground": "#240103",
|
||||
"diffAddedBackground": "#001d04",
|
||||
"diffRemoved": "#fbc4c1",
|
||||
"diffRemovedBackground": "#310206",
|
||||
"diffModified": "#fdd8a4",
|
||||
"diffModifiedBackground": "#161e27",
|
||||
"diffModifiedBackground": "#0a0d11",
|
||||
"lineNumber": "#646464",
|
||||
"lineNumberActive": "#ededed"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#000000",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"icon": "#848484",
|
||||
"hover": "#171717"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#000000",
|
||||
"foreground": "#878787",
|
||||
"border": "#3f3f3f",
|
||||
"icon": "#080808",
|
||||
"hover": "#171717",
|
||||
"active": "#063056",
|
||||
"accent": "#0070F3",
|
||||
"accentForeground": "#ffffff"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#000000",
|
||||
"userMessage": "#ededed",
|
||||
"userMessageBackground": "#0f0f0f",
|
||||
"assistantMessage": "#ededed",
|
||||
"assistantMessageBackground": "#000000",
|
||||
"timestamp": "#646464",
|
||||
"divider": "#2c2c2c",
|
||||
"typing": "#878787"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#BF7AF0",
|
||||
"heading2": "#BF7AF0",
|
||||
"heading3": "#ededed",
|
||||
"heading3": "#fdfdfd",
|
||||
"heading4": "#ededed",
|
||||
"link": "#52A8FF",
|
||||
"linkHover": "#0AC7AC",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#0f0f0f",
|
||||
"blockquote": "#878787",
|
||||
"blockquoteBorder": "#3f3f3f",
|
||||
"listMarker": "#EDEDED99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#ededed",
|
||||
"userMessageBackground": "#063056",
|
||||
"assistantMessage": "#ededed",
|
||||
"assistantMessageBackground": "#000000",
|
||||
"timestamp": "#878787",
|
||||
"divider": "#3f3f3f"
|
||||
"listMarker": "#EDEDED99",
|
||||
"bold": "#F75590",
|
||||
"italic": "#F2A700",
|
||||
"strikethrough": "#878787",
|
||||
"hr": "#454545"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#0f0f0f80",
|
||||
"border": "#3f3f3fb3",
|
||||
"headerHover": "#17171780",
|
||||
"icon": "#878787",
|
||||
"background": "#0f0f0f",
|
||||
"border": "#2c2c2c",
|
||||
"headerHover": "#171717",
|
||||
"icon": "#080808",
|
||||
"title": "#ededed",
|
||||
"description": "#878787",
|
||||
"edit": {
|
||||
"added": "#38fc61",
|
||||
"addedBackground": "#001402",
|
||||
"addedBackground": "#001d04",
|
||||
"removed": "#f22942",
|
||||
"removedBackground": "#240103",
|
||||
"removedBackground": "#310206",
|
||||
"modified": "#fdd8a4",
|
||||
"modifiedBackground": "#0a0d11",
|
||||
"lineNumber": "#646464"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"info": "#52A8FF",
|
||||
"warning": "#FFB224",
|
||||
"error": "#E5484D"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"info": "#52A8FF",
|
||||
"warning": "#FFB224",
|
||||
"error": "#E5484D"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#000000",
|
||||
"inputForeground": "#ededed",
|
||||
"inputBorder": "#2c2c2c",
|
||||
"inputBorderHover": "#353535",
|
||||
"inputBorderFocus": "#2280d6",
|
||||
"inputPlaceholder": "#646464",
|
||||
"inputDisabled": "#010101",
|
||||
"inputSelection": "#065ca1",
|
||||
"label": "#878787",
|
||||
"helperText": "#646464"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#0070F3",
|
||||
"fg": "#ffffff",
|
||||
"border": "#0e4374",
|
||||
"hover": "#207dfc",
|
||||
"active": "#2280d6",
|
||||
"disabled": "#353535"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#090909",
|
||||
"fg": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"hover": "#0f0f0f",
|
||||
"active": "#171717",
|
||||
"disabled": "#010101"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#ededed",
|
||||
"border": "#00000000",
|
||||
"hover": "#0f0f0f",
|
||||
"active": "#171717",
|
||||
"disabled": "#646464"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#E5484D",
|
||||
"fg": "#151313",
|
||||
"border": "#7b101b",
|
||||
"hover": "#7b101b",
|
||||
"active": "#c41e2f",
|
||||
"disabled": "#010101"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"overlay": "#000000d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"inputBackground": "#000000",
|
||||
"selectedBackground": "#063056",
|
||||
"selectedForeground": "#ededed",
|
||||
"muted": "#878787"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#0f0f0f",
|
||||
"foreground": "#ededed",
|
||||
"border": "#2c2c2c",
|
||||
"icon": "#080808",
|
||||
"removeHover": "#5b0710"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#000000",
|
||||
"foreground": "#ededed",
|
||||
"mutedForeground": "#878787",
|
||||
"border": "#222222",
|
||||
"hover": "#171717",
|
||||
"active": "#063056"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"selectedBackground": "#063056",
|
||||
"selectedForeground": "#ededed"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"allow": "#46A758",
|
||||
"allowBackground": "#023a12",
|
||||
"deny": "#E5484D",
|
||||
"denyBackground": "#5b0710"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#0070F3",
|
||||
"spinnerTrack": "#171717",
|
||||
"skeleton": "#0f0f0f",
|
||||
"shimmer": "#171717"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#ededed33",
|
||||
"thumbHover": "#ededed57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#0f0f0f",
|
||||
"fg": "#ededed",
|
||||
"border": "#2c2c2c"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#063056",
|
||||
"fg": "#52A8FF",
|
||||
"border": "#0e4374"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#023a12",
|
||||
"fg": "#46A758",
|
||||
"border": "#08501d"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#412900",
|
||||
"fg": "#FFB224",
|
||||
"border": "#593b03"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#5b0710",
|
||||
"fg": "#E5484D",
|
||||
"border": "#7b101b"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#090909",
|
||||
"foreground": "#ededed",
|
||||
"border": "#3f3f3f",
|
||||
"success": {
|
||||
"background": "#023a12",
|
||||
"foreground": "#46A758",
|
||||
"border": "#08501d"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#412900",
|
||||
"foreground": "#FFB224",
|
||||
"border": "#593b03"
|
||||
},
|
||||
"error": {
|
||||
"background": "#5b0710",
|
||||
"foreground": "#E5484D",
|
||||
"border": "#7b101b"
|
||||
},
|
||||
"info": {
|
||||
"background": "#063056",
|
||||
"foreground": "#52A8FF",
|
||||
"border": "#0e4374"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#878787",
|
||||
"title": "#ededed",
|
||||
"description": "#878787",
|
||||
"border": "#222222"
|
||||
},
|
||||
"table": {
|
||||
"border": "#222222",
|
||||
"headerBackground": "#090909",
|
||||
"headerForeground": "#ededed",
|
||||
"rowHover": "#171717",
|
||||
"rowSelected": "#063056"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#0070F3",
|
||||
"#52A8FF",
|
||||
"#46A758",
|
||||
"#FFB224",
|
||||
"#E5484D"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#2280d6",
|
||||
"selection": "#063056",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #52A8FF59"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "vercel-light",
|
||||
"name": "Vercel",
|
||||
"description": "Port of OpenCode Vercel theme (light variant)",
|
||||
"description": "Ported from OpenCode Vercel theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"vercel"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#0570f2",
|
||||
"base": "#0070F3",
|
||||
"hover": "#0767dd",
|
||||
"active": "#0767dd",
|
||||
"active": "#0570f2",
|
||||
"foreground": "#000000",
|
||||
"muted": "#0570f280",
|
||||
"muted": "#0070F380",
|
||||
"emphasis": "#0767dd"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#161616",
|
||||
"muted": "#f1f1f1",
|
||||
"muted": "#f4f4f4",
|
||||
"mutedForeground": "#666666",
|
||||
"elevated": "#f8f8f8",
|
||||
"elevatedForeground": "#161616",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#ffffff33",
|
||||
"subtle": "#e8e8e8"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#c6c6c6",
|
||||
"borderHover": "#b8b8b8",
|
||||
"borderFocus": "#9ec3fb",
|
||||
"selection": "#deebfe",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#9ec3fb",
|
||||
"focusRing": "#9ec3fb47",
|
||||
"cursor": "#161616",
|
||||
"hover": "#e8e8e8",
|
||||
"active": "#e8e8e8"
|
||||
"borderFocus": "#0570f2",
|
||||
"selection": "#16161616",
|
||||
"selectionForeground": "#161616",
|
||||
"focus": "#0570f2",
|
||||
"focusRing": "#0570f247",
|
||||
"cursor": "#070707",
|
||||
"hover": "#1616160e",
|
||||
"active": "#16161616"
|
||||
},
|
||||
"status": {
|
||||
"error": "#d12139",
|
||||
"error": "#DC3545",
|
||||
"errorForeground": "#000000",
|
||||
"errorBackground": "#ffe2e1",
|
||||
"errorBorder": "#fea6a4",
|
||||
"warning": "#fcaa8d",
|
||||
"warning": "#FF9500",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#ffe4ce",
|
||||
"warningBorder": "#faaf68",
|
||||
"success": "#7ddb7e",
|
||||
"success": "#388E3C",
|
||||
"successForeground": "#000000",
|
||||
"successBackground": "#c2fcc1",
|
||||
"successBorder": "#7ddb7e",
|
||||
"info": "#9ec3fb",
|
||||
"info": "#0070F3",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#deebfe",
|
||||
"infoBorder": "#9ec3fb"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#7ddb7e",
|
||||
"open": "#388E3C",
|
||||
"draft": "#666666",
|
||||
"blocked": "#fcaa8d",
|
||||
"merged": "#E93D82",
|
||||
"closed": "#d12139"
|
||||
"blocked": "#FF9500",
|
||||
"merged": "#FFB224",
|
||||
"closed": "#DC3545"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#f1f1f1",
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"comment": "#888888",
|
||||
"keyword": "#E93D82",
|
||||
"string": "#46A758",
|
||||
"number": "#8E4EC6",
|
||||
"number": "#FFB224",
|
||||
"function": "#12A594",
|
||||
"variable": "#0070F3",
|
||||
"type": "#12A594",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#888888",
|
||||
"stringEscape": "#FFB224",
|
||||
"stringEscape": "#161616",
|
||||
"keywordImport": "#E93D82",
|
||||
"storageModifier": "#E93D82",
|
||||
"functionCall": "#12A594",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#12A594",
|
||||
"variableOther": "#0070F3",
|
||||
"variableGlobal": "#FFB224",
|
||||
"variableLocal": "#666666",
|
||||
"variableLocal": "#171717",
|
||||
"parameter": "#0070F3",
|
||||
"constant": "#FFB224",
|
||||
"class": "#12A594",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#12A594",
|
||||
"enum": "#12A594",
|
||||
"typeParameter": "#12A594",
|
||||
"namespace": "#E93D82",
|
||||
"namespace": "#12A594",
|
||||
"module": "#E93D82",
|
||||
"tag": "#E93D82",
|
||||
"jsxTag": "#E93D82",
|
||||
"tagAttribute": "#12A594",
|
||||
"tagAttributeValue": "#46A758",
|
||||
"boolean": "#8E4EC6",
|
||||
"boolean": "#FFB224",
|
||||
"decorator": "#E93D82",
|
||||
"label": "#E93D82",
|
||||
"label": "#12A594",
|
||||
"punctuation": "#171717",
|
||||
"macro": "#E93D82",
|
||||
"preprocessor": "#E93D82",
|
||||
"regex": "#161616",
|
||||
"url": "#0070F3",
|
||||
"url": "#0767dd",
|
||||
"key": "#12A594",
|
||||
"exception": "#d12139"
|
||||
"exception": "#DC3545"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#0a752b",
|
||||
"diffAddedBackground": "#f8fff9",
|
||||
"diffRemoved": "#e22539",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#effff0",
|
||||
"diffRemoved": "#b11829",
|
||||
"diffRemovedBackground": "#fff7f7",
|
||||
"diffModified": "#FF8C00",
|
||||
"diffModifiedBackground": "#e7edf7",
|
||||
"diffModifiedBackground": "#f3f6fb",
|
||||
"lineNumber": "#898989",
|
||||
"lineNumberActive": "#161616"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"icon": "#303030",
|
||||
"hover": "#e8e8e8"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f4f4f4",
|
||||
"foreground": "#666666",
|
||||
"border": "#c6c6c6",
|
||||
"icon": "#c9c9c9",
|
||||
"hover": "#e8e8e8",
|
||||
"active": "#deebfe",
|
||||
"accent": "#0070F3",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#ffffff",
|
||||
"userMessage": "#161616",
|
||||
"userMessageBackground": "#f1f1f1",
|
||||
"assistantMessage": "#161616",
|
||||
"assistantMessageBackground": "#ffffff",
|
||||
"timestamp": "#898989",
|
||||
"divider": "#e2e2e2",
|
||||
"typing": "#666666"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#8E4EC6",
|
||||
"heading2": "#8E4EC6",
|
||||
"heading3": "#161616",
|
||||
"heading3": "#070707",
|
||||
"heading4": "#161616",
|
||||
"link": "#0070F3",
|
||||
"linkHover": "#12A594",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#f1f1f1",
|
||||
"blockquote": "#666666",
|
||||
"blockquoteBorder": "#c6c6c6",
|
||||
"listMarker": "#17171799"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#161616",
|
||||
"userMessageBackground": "#deebfe",
|
||||
"assistantMessage": "#161616",
|
||||
"assistantMessageBackground": "#ffffff",
|
||||
"timestamp": "#666666",
|
||||
"divider": "#c6c6c6"
|
||||
"listMarker": "#17171799",
|
||||
"bold": "#E93D82",
|
||||
"italic": "#FFB224",
|
||||
"strikethrough": "#666666",
|
||||
"hr": "#999999"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f1f1f180",
|
||||
"border": "#c6c6c6b3",
|
||||
"headerHover": "#e8e8e880",
|
||||
"icon": "#666666",
|
||||
"background": "#f1f1f1",
|
||||
"border": "#e2e2e2",
|
||||
"headerHover": "#e8e8e8",
|
||||
"icon": "#c9c9c9",
|
||||
"title": "#161616",
|
||||
"description": "#666666",
|
||||
"edit": {
|
||||
"added": "#0a752b",
|
||||
"addedBackground": "#f8fff9",
|
||||
"addedBackground": "#effff0",
|
||||
"removed": "#e22539",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fff7f7",
|
||||
"modified": "#FF8C00",
|
||||
"modifiedBackground": "#f3f6fb",
|
||||
"lineNumber": "#898989"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"info": "#0070F3",
|
||||
"warning": "#FF9500",
|
||||
"error": "#DC3545"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"info": "#0070F3",
|
||||
"warning": "#FF9500",
|
||||
"error": "#DC3545"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#ffffff",
|
||||
"inputForeground": "#161616",
|
||||
"inputBorder": "#e2e2e2",
|
||||
"inputBorderHover": "#d4d4d4",
|
||||
"inputBorderFocus": "#0570f2",
|
||||
"inputPlaceholder": "#898989",
|
||||
"inputDisabled": "#ededed",
|
||||
"inputSelection": "#deebfe",
|
||||
"label": "#666666",
|
||||
"helperText": "#898989"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#0070F3",
|
||||
"fg": "#000000",
|
||||
"border": "#9ec3fb",
|
||||
"hover": "#0767dd",
|
||||
"active": "#0570f2",
|
||||
"disabled": "#d0d0d0"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f8f8f8",
|
||||
"fg": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"hover": "#f1f1f1",
|
||||
"active": "#e8e8e8",
|
||||
"disabled": "#ededed"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#161616",
|
||||
"border": "#00000000",
|
||||
"hover": "#f1f1f1",
|
||||
"active": "#e8e8e8",
|
||||
"disabled": "#898989"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#DC3545",
|
||||
"fg": "#000000",
|
||||
"border": "#fea6a4",
|
||||
"hover": "#ffd4d2",
|
||||
"active": "#e4223e",
|
||||
"disabled": "#ededed"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"overlay": "#ffffff3d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"inputBackground": "#ffffff",
|
||||
"selectedBackground": "#deebfe",
|
||||
"selectedForeground": "#161616",
|
||||
"muted": "#666666"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#f1f1f1",
|
||||
"foreground": "#161616",
|
||||
"border": "#e2e2e2",
|
||||
"icon": "#c9c9c9",
|
||||
"removeHover": "#ffe2e1"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#ffffff",
|
||||
"foreground": "#161616",
|
||||
"mutedForeground": "#666666",
|
||||
"border": "#ececec",
|
||||
"hover": "#e8e8e8",
|
||||
"active": "#deebfe"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"selectedBackground": "#deebfe",
|
||||
"selectedForeground": "#161616"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"allow": "#388E3C",
|
||||
"allowBackground": "#c2fcc1",
|
||||
"deny": "#DC3545",
|
||||
"denyBackground": "#ffe2e1"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#0070F3",
|
||||
"spinnerTrack": "#e8e8e8",
|
||||
"skeleton": "#f1f1f1",
|
||||
"shimmer": "#e8e8e8"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#16161626",
|
||||
"thumbHover": "#16161640"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#f1f1f1",
|
||||
"fg": "#161616",
|
||||
"border": "#e2e2e2"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#deebfe",
|
||||
"fg": "#0070F3",
|
||||
"border": "#9ec3fb"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#c2fcc1",
|
||||
"fg": "#388E3C",
|
||||
"border": "#7ddb7e"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#ffe4ce",
|
||||
"fg": "#FF9500",
|
||||
"border": "#faaf68"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#ffe2e1",
|
||||
"fg": "#DC3545",
|
||||
"border": "#fea6a4"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f8f8f8",
|
||||
"foreground": "#161616",
|
||||
"border": "#c6c6c6",
|
||||
"success": {
|
||||
"background": "#c2fcc1",
|
||||
"foreground": "#388E3C",
|
||||
"border": "#7ddb7e"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#ffe4ce",
|
||||
"foreground": "#FF9500",
|
||||
"border": "#faaf68"
|
||||
},
|
||||
"error": {
|
||||
"background": "#ffe2e1",
|
||||
"foreground": "#DC3545",
|
||||
"border": "#fea6a4"
|
||||
},
|
||||
"info": {
|
||||
"background": "#deebfe",
|
||||
"foreground": "#0070F3",
|
||||
"border": "#9ec3fb"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#666666",
|
||||
"title": "#161616",
|
||||
"description": "#666666",
|
||||
"border": "#ececec"
|
||||
},
|
||||
"table": {
|
||||
"border": "#ececec",
|
||||
"headerBackground": "#f8f8f8",
|
||||
"headerForeground": "#161616",
|
||||
"rowHover": "#e8e8e8",
|
||||
"rowSelected": "#deebfe"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#0070F3",
|
||||
"#0070F3",
|
||||
"#388E3C",
|
||||
"#FF9500",
|
||||
"#DC3545"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#0570f2",
|
||||
"selection": "#deebfe",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #0070F340"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "zenburn-dark",
|
||||
"name": "Zenburn",
|
||||
"description": "Port of OpenCode Zenburn theme (dark variant)",
|
||||
"description": "Ported from OpenCode Zenburn theme (dark variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "dark",
|
||||
"tags": [
|
||||
"dark",
|
||||
"opencode",
|
||||
"ported",
|
||||
"zenburn"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#24a9af",
|
||||
"base": "#8cd0d3",
|
||||
"hover": "#31bbc1",
|
||||
"active": "#31bbc1",
|
||||
"active": "#24a9af",
|
||||
"foreground": "#000000",
|
||||
"muted": "#24a9af80",
|
||||
"emphasis": "#31bbc1"
|
||||
"muted": "#8cd0d380",
|
||||
"emphasis": "#6deaf0"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#262626",
|
||||
"foreground": "#dcdccb",
|
||||
"muted": "#323231",
|
||||
"muted": "#2c2c2b",
|
||||
"mutedForeground": "#9f9f9f",
|
||||
"elevated": "#2d2d2c",
|
||||
"elevatedForeground": "#dcdccb",
|
||||
"overlay": "#00000080",
|
||||
"overlay": "#262626cc",
|
||||
"subtle": "#383836"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#565652",
|
||||
"borderHover": "#5d5d58",
|
||||
"borderFocus": "#084b4e",
|
||||
"selection": "#033638",
|
||||
"selectionForeground": "#ffffff",
|
||||
"focus": "#084b4e",
|
||||
"focusRing": "#084b4e59",
|
||||
"cursor": "#dcdccb",
|
||||
"hover": "#383836",
|
||||
"active": "#383836"
|
||||
"borderFocus": "#24a9af",
|
||||
"selection": "#dcdccb1f",
|
||||
"selectionForeground": "#dcdccb",
|
||||
"focus": "#24a9af",
|
||||
"focusRing": "#24a9af61",
|
||||
"cursor": "#fcfcfa",
|
||||
"hover": "#dcdccb17",
|
||||
"active": "#dcdccb1f"
|
||||
},
|
||||
"status": {
|
||||
"error": "#b56264",
|
||||
"errorForeground": "#ffffff",
|
||||
"error": "#cc9393",
|
||||
"errorForeground": "#151313",
|
||||
"errorBackground": "#52181d",
|
||||
"errorBorder": "#6b292d",
|
||||
"warning": "#c89343",
|
||||
"warningForeground": "#ffffff",
|
||||
"warning": "#f0dfaf",
|
||||
"warningForeground": "#151313",
|
||||
"warningBackground": "#3a2d04",
|
||||
"warningBorder": "#504009",
|
||||
"success": "#4e8050",
|
||||
"successForeground": "#ffffff",
|
||||
"success": "#7f9f7f",
|
||||
"successForeground": "#151313",
|
||||
"successBackground": "#133816",
|
||||
"successBorder": "#234d26",
|
||||
"info": "#c37c49",
|
||||
"infoForeground": "#ffffff",
|
||||
"info": "#dfaf8f",
|
||||
"infoForeground": "#151313",
|
||||
"infoBackground": "#492303",
|
||||
"infoBorder": "#643309"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#4e8050",
|
||||
"open": "#7f9f7f",
|
||||
"draft": "#9f9f9f",
|
||||
"blocked": "#c89343",
|
||||
"merged": "#f0dfaf",
|
||||
"closed": "#b56264"
|
||||
"blocked": "#f0dfaf",
|
||||
"merged": "#8fb28f",
|
||||
"closed": "#cc9393"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#323231",
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"comment": "#7f9f7f",
|
||||
"keyword": "#f0dfaf",
|
||||
"string": "#cc9393",
|
||||
"number": "#8cd0d3",
|
||||
"number": "#8fb28f",
|
||||
"function": "#93e0e3",
|
||||
"variable": "#dcdccc",
|
||||
"type": "#93e0e3",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#7f9f7f",
|
||||
"stringEscape": "#8fb28f",
|
||||
"stringEscape": "#dcdccb",
|
||||
"keywordImport": "#f0dfaf",
|
||||
"storageModifier": "#f0dfaf",
|
||||
"functionCall": "#93e0e3",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#93e0e3",
|
||||
"variableOther": "#dcdccc",
|
||||
"variableGlobal": "#8fb28f",
|
||||
"variableLocal": "#9f9f9f",
|
||||
"variableLocal": "#dcdccc",
|
||||
"parameter": "#dcdccc",
|
||||
"constant": "#8fb28f",
|
||||
"class": "#93e0e3",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#93e0e3",
|
||||
"enum": "#93e0e3",
|
||||
"typeParameter": "#93e0e3",
|
||||
"namespace": "#f0dfaf",
|
||||
"namespace": "#93e0e3",
|
||||
"module": "#f0dfaf",
|
||||
"tag": "#f0dfaf",
|
||||
"jsxTag": "#f0dfaf",
|
||||
"tagAttribute": "#93e0e3",
|
||||
"tagAttributeValue": "#cc9393",
|
||||
"boolean": "#8cd0d3",
|
||||
"boolean": "#8fb28f",
|
||||
"decorator": "#f0dfaf",
|
||||
"label": "#f0dfaf",
|
||||
"label": "#93e0e3",
|
||||
"punctuation": "#dcdccc",
|
||||
"macro": "#f0dfaf",
|
||||
"preprocessor": "#f0dfaf",
|
||||
"regex": "#dcdccb",
|
||||
"url": "#8cd0d3",
|
||||
"url": "#6deaf0",
|
||||
"key": "#93e0e3",
|
||||
"exception": "#b56264"
|
||||
"exception": "#cc9393"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#aae6aa",
|
||||
"diffAddedBackground": "#011402",
|
||||
"diffRemoved": "#d67c7e",
|
||||
"diffRemovedBackground": "#220205",
|
||||
"diffAddedBackground": "#021d05",
|
||||
"diffRemoved": "#fcc3c3",
|
||||
"diffRemovedBackground": "#2f0409",
|
||||
"diffModified": "#fdeab3",
|
||||
"diffModifiedBackground": "#3d4444",
|
||||
"diffModifiedBackground": "#303333",
|
||||
"lineNumber": "#7b7b7b",
|
||||
"lineNumberActive": "#dcdccb"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#262626",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"icon": "#97968d",
|
||||
"hover": "#383836"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#2c2c2b",
|
||||
"foreground": "#9f9f9f",
|
||||
"border": "#565652",
|
||||
"icon": "#3d3c3b",
|
||||
"hover": "#383836",
|
||||
"active": "#033638",
|
||||
"accent": "#8cd0d3",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#262626",
|
||||
"userMessage": "#dcdccb",
|
||||
"userMessageBackground": "#323231",
|
||||
"assistantMessage": "#dcdccb",
|
||||
"assistantMessageBackground": "#262626",
|
||||
"timestamp": "#7b7b7b",
|
||||
"divider": "#474745",
|
||||
"typing": "#9f9f9f"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#f0dfaf",
|
||||
"heading2": "#f0dfaf",
|
||||
"heading3": "#dcdccb",
|
||||
"heading3": "#fcfcfa",
|
||||
"heading4": "#dcdccb",
|
||||
"link": "#8cd0d3",
|
||||
"linkHover": "#93e0e3",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#323231",
|
||||
"blockquote": "#9f9f9f",
|
||||
"blockquoteBorder": "#565652",
|
||||
"listMarker": "#8cd0d399"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#dcdccb",
|
||||
"userMessageBackground": "#033638",
|
||||
"assistantMessage": "#dcdccb",
|
||||
"assistantMessageBackground": "#262626",
|
||||
"timestamp": "#9f9f9f",
|
||||
"divider": "#565652"
|
||||
"listMarker": "#8cd0d399",
|
||||
"bold": "#dfaf8f",
|
||||
"italic": "#e0cf9f",
|
||||
"strikethrough": "#9f9f9f",
|
||||
"hr": "#9f9f9f"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#32323180",
|
||||
"border": "#565652b3",
|
||||
"headerHover": "#38383680",
|
||||
"icon": "#9f9f9f",
|
||||
"background": "#323231",
|
||||
"border": "#474745",
|
||||
"headerHover": "#383836",
|
||||
"icon": "#3d3c3b",
|
||||
"title": "#dcdccb",
|
||||
"description": "#9f9f9f",
|
||||
"edit": {
|
||||
"added": "#aae6aa",
|
||||
"addedBackground": "#011402",
|
||||
"addedBackground": "#021d05",
|
||||
"removed": "#d67c7e",
|
||||
"removedBackground": "#220205",
|
||||
"removedBackground": "#2f0409",
|
||||
"modified": "#fdeab3",
|
||||
"modifiedBackground": "#303333",
|
||||
"lineNumber": "#7b7b7b"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"info": "#dfaf8f",
|
||||
"warning": "#f0dfaf",
|
||||
"error": "#cc9393"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"info": "#dfaf8f",
|
||||
"warning": "#f0dfaf",
|
||||
"error": "#cc9393"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#292929",
|
||||
"inputForeground": "#dcdccb",
|
||||
"inputBorder": "#474745",
|
||||
"inputBorderHover": "#4f4f4b",
|
||||
"inputBorderFocus": "#24a9af",
|
||||
"inputPlaceholder": "#7b7b7b",
|
||||
"inputDisabled": "#30302f",
|
||||
"inputSelection": "#14676a",
|
||||
"label": "#9f9f9f",
|
||||
"helperText": "#7b7b7b"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#8cd0d3",
|
||||
"fg": "#000000",
|
||||
"border": "#084b4e",
|
||||
"hover": "#31bbc1",
|
||||
"active": "#24a9af",
|
||||
"disabled": "#4f4f4b"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#2d2d2c",
|
||||
"fg": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"hover": "#323231",
|
||||
"active": "#383836",
|
||||
"disabled": "#30302f"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#dcdccb",
|
||||
"border": "#00000000",
|
||||
"hover": "#323231",
|
||||
"active": "#383836",
|
||||
"disabled": "#7b7b7b"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#cc9393",
|
||||
"fg": "#151313",
|
||||
"border": "#6b292d",
|
||||
"hover": "#6b292d",
|
||||
"active": "#b56264",
|
||||
"disabled": "#30302f"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"overlay": "#262626d6"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"shadow": "0 18px 48px rgba(0, 0, 0, 0.45)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"inputBackground": "#292929",
|
||||
"selectedBackground": "#033638",
|
||||
"selectedForeground": "#dcdccb",
|
||||
"muted": "#9f9f9f"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#323231",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#474745",
|
||||
"icon": "#3d3c3b",
|
||||
"removeHover": "#52181d"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#262626",
|
||||
"foreground": "#dcdccb",
|
||||
"mutedForeground": "#9f9f9f",
|
||||
"border": "#40403e",
|
||||
"hover": "#383836",
|
||||
"active": "#033638"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"selectedBackground": "#033638",
|
||||
"selectedForeground": "#dcdccb"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"allow": "#7f9f7f",
|
||||
"allowBackground": "#133816",
|
||||
"deny": "#cc9393",
|
||||
"denyBackground": "#52181d"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#8cd0d3",
|
||||
"spinnerTrack": "#383836",
|
||||
"skeleton": "#323231",
|
||||
"shimmer": "#383836"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#dcdccb33",
|
||||
"thumbHover": "#dcdccb57"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#323231",
|
||||
"fg": "#dcdccb",
|
||||
"border": "#474745"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#492303",
|
||||
"fg": "#dfaf8f",
|
||||
"border": "#643309"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#133816",
|
||||
"fg": "#7f9f7f",
|
||||
"border": "#234d26"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#3a2d04",
|
||||
"fg": "#f0dfaf",
|
||||
"border": "#504009"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#52181d",
|
||||
"fg": "#cc9393",
|
||||
"border": "#6b292d"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#2d2d2c",
|
||||
"foreground": "#dcdccb",
|
||||
"border": "#565652",
|
||||
"success": {
|
||||
"background": "#133816",
|
||||
"foreground": "#7f9f7f",
|
||||
"border": "#234d26"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#3a2d04",
|
||||
"foreground": "#f0dfaf",
|
||||
"border": "#504009"
|
||||
},
|
||||
"error": {
|
||||
"background": "#52181d",
|
||||
"foreground": "#cc9393",
|
||||
"border": "#6b292d"
|
||||
},
|
||||
"info": {
|
||||
"background": "#492303",
|
||||
"foreground": "#dfaf8f",
|
||||
"border": "#643309"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#9f9f9f",
|
||||
"title": "#dcdccb",
|
||||
"description": "#9f9f9f",
|
||||
"border": "#40403e"
|
||||
},
|
||||
"table": {
|
||||
"border": "#40403e",
|
||||
"headerBackground": "#2d2d2c",
|
||||
"headerForeground": "#dcdccb",
|
||||
"rowHover": "#383836",
|
||||
"rowSelected": "#033638"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#8cd0d3",
|
||||
"#dfaf8f",
|
||||
"#7f9f7f",
|
||||
"#f0dfaf",
|
||||
"#cc9393"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#24a9af",
|
||||
"selection": "#033638",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(0, 0, 0, 0.22)",
|
||||
"md": "0 12px 32px rgba(0, 0, 0, 0.32)",
|
||||
"lg": "0 24px 56px rgba(0, 0, 0, 0.42)",
|
||||
"focus": "0 0 0 3px #8cd0d359"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -2,79 +2,81 @@
|
||||
"metadata": {
|
||||
"id": "zenburn-light",
|
||||
"name": "Zenburn",
|
||||
"description": "Port of OpenCode Zenburn theme (light variant)",
|
||||
"description": "Ported from OpenCode Zenburn theme (light variant)",
|
||||
"author": "OpenCode",
|
||||
"version": "1.0.0",
|
||||
"variant": "light",
|
||||
"tags": [
|
||||
"light",
|
||||
"opencode",
|
||||
"ported",
|
||||
"zenburn"
|
||||
]
|
||||
},
|
||||
"colors": {
|
||||
"primary": {
|
||||
"base": "#588094",
|
||||
"base": "#5f7f8f",
|
||||
"hover": "#4d7689",
|
||||
"active": "#4d7689",
|
||||
"active": "#588094",
|
||||
"foreground": "#000000",
|
||||
"muted": "#58809480",
|
||||
"muted": "#5f7f8f80",
|
||||
"emphasis": "#4d7689"
|
||||
},
|
||||
"surface": {
|
||||
"background": "#fffff4",
|
||||
"foreground": "#333333",
|
||||
"muted": "#f4f4e9",
|
||||
"muted": "#f6f6eb",
|
||||
"mutedForeground": "#6f6f6f",
|
||||
"elevated": "#f9f9ef",
|
||||
"elevatedForeground": "#333333",
|
||||
"overlay": "#0000004d",
|
||||
"overlay": "#fffff433",
|
||||
"subtle": "#ecece2"
|
||||
},
|
||||
"interactive": {
|
||||
"border": "#d0d0c8",
|
||||
"borderHover": "#c5c5bd",
|
||||
"borderFocus": "#a3c8da",
|
||||
"selection": "#d7eefa",
|
||||
"selectionForeground": "#000000",
|
||||
"focus": "#a3c8da",
|
||||
"focusRing": "#a3c8da47",
|
||||
"cursor": "#333333",
|
||||
"hover": "#ecece2",
|
||||
"active": "#ecece2"
|
||||
"borderFocus": "#588094",
|
||||
"selection": "#33333316",
|
||||
"selectionForeground": "#333333",
|
||||
"focus": "#588094",
|
||||
"focusRing": "#58809447",
|
||||
"cursor": "#222222",
|
||||
"hover": "#3333330e",
|
||||
"active": "#33333316"
|
||||
},
|
||||
"status": {
|
||||
"error": "#8b5051",
|
||||
"errorForeground": "#000000",
|
||||
"error": "#8f5f5f",
|
||||
"errorForeground": "#ffffff",
|
||||
"errorBackground": "#fee2e1",
|
||||
"errorBorder": "#eab0b0",
|
||||
"warning": "#d5bf8f",
|
||||
"warning": "#8f8f5f",
|
||||
"warningForeground": "#000000",
|
||||
"warningBackground": "#ecedca",
|
||||
"warningBorder": "#c5c58f",
|
||||
"success": "#9bd29a",
|
||||
"success": "#5f8f5f",
|
||||
"successForeground": "#000000",
|
||||
"successBackground": "#d2f5d1",
|
||||
"successBorder": "#9bd29a",
|
||||
"info": "#d2bf9a",
|
||||
"info": "#8f7f5f",
|
||||
"infoForeground": "#000000",
|
||||
"infoBackground": "#f5e9d1",
|
||||
"infoBorder": "#d2bf9a"
|
||||
},
|
||||
"pr": {
|
||||
"open": "#9bd29a",
|
||||
"open": "#5f8f5f",
|
||||
"draft": "#6f6f6f",
|
||||
"blocked": "#d5bf8f",
|
||||
"merged": "#8f8f5f",
|
||||
"closed": "#8b5051"
|
||||
"blocked": "#8f8f5f",
|
||||
"merged": "#5f8f5f",
|
||||
"closed": "#8f5f5f"
|
||||
},
|
||||
"syntax": {
|
||||
"base": {
|
||||
"background": "#f4f4e9",
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"comment": "#5f7f5f",
|
||||
"keyword": "#8f8f5f",
|
||||
"string": "#8f5f5f",
|
||||
"number": "#5f7f8f",
|
||||
"number": "#5f8f5f",
|
||||
"function": "#5f8f8f",
|
||||
"variable": "#3f3f3f",
|
||||
"type": "#5f8f8f",
|
||||
@@ -82,7 +84,7 @@
|
||||
},
|
||||
"tokens": {
|
||||
"commentDoc": "#5f7f5f",
|
||||
"stringEscape": "#5f8f5f",
|
||||
"stringEscape": "#333333",
|
||||
"keywordImport": "#8f8f5f",
|
||||
"storageModifier": "#8f8f5f",
|
||||
"functionCall": "#5f8f8f",
|
||||
@@ -90,7 +92,7 @@
|
||||
"variableProperty": "#5f8f8f",
|
||||
"variableOther": "#3f3f3f",
|
||||
"variableGlobal": "#5f8f5f",
|
||||
"variableLocal": "#6f6f6f",
|
||||
"variableLocal": "#3f3f3f",
|
||||
"parameter": "#3f3f3f",
|
||||
"constant": "#5f8f5f",
|
||||
"class": "#5f8f8f",
|
||||
@@ -99,38 +101,65 @@
|
||||
"struct": "#5f8f8f",
|
||||
"enum": "#5f8f8f",
|
||||
"typeParameter": "#5f8f8f",
|
||||
"namespace": "#8f8f5f",
|
||||
"namespace": "#5f8f8f",
|
||||
"module": "#8f8f5f",
|
||||
"tag": "#8f8f5f",
|
||||
"jsxTag": "#8f8f5f",
|
||||
"tagAttribute": "#5f8f8f",
|
||||
"tagAttributeValue": "#8f5f5f",
|
||||
"boolean": "#5f7f8f",
|
||||
"boolean": "#5f8f5f",
|
||||
"decorator": "#8f8f5f",
|
||||
"label": "#8f8f5f",
|
||||
"label": "#5f8f8f",
|
||||
"punctuation": "#3f3f3f",
|
||||
"macro": "#8f8f5f",
|
||||
"preprocessor": "#8f8f5f",
|
||||
"regex": "#333333",
|
||||
"url": "#5f7f8f",
|
||||
"url": "#4d7689",
|
||||
"key": "#5f8f8f",
|
||||
"exception": "#8b5051"
|
||||
"exception": "#8f5f5f"
|
||||
},
|
||||
"highlights": {
|
||||
"diffAdded": "#4c694c",
|
||||
"diffAddedBackground": "#fafefa",
|
||||
"diffRemoved": "#996e6e",
|
||||
"diffRemovedBackground": "#fffcfc",
|
||||
"diffAddedBackground": "#f5fcf5",
|
||||
"diffRemoved": "#7b5555",
|
||||
"diffRemovedBackground": "#fff7f7",
|
||||
"diffModified": "#5f5d10",
|
||||
"diffModifiedBackground": "#eceee6",
|
||||
"diffModifiedBackground": "#f5f6ed",
|
||||
"lineNumber": "#939393",
|
||||
"lineNumberActive": "#333333"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"background": "#fffff4",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"icon": "#505050",
|
||||
"hover": "#ecece2"
|
||||
},
|
||||
"sidebar": {
|
||||
"background": "#f6f6eb",
|
||||
"foreground": "#6f6f6f",
|
||||
"border": "#d0d0c8",
|
||||
"icon": "#d4d3ca",
|
||||
"hover": "#ecece2",
|
||||
"active": "#d7eefa",
|
||||
"accent": "#5f7f8f",
|
||||
"accentForeground": "#000000"
|
||||
},
|
||||
"chat": {
|
||||
"background": "#fffff4",
|
||||
"userMessage": "#333333",
|
||||
"userMessageBackground": "#f4f4e9",
|
||||
"assistantMessage": "#333333",
|
||||
"assistantMessageBackground": "#fffff4",
|
||||
"timestamp": "#939393",
|
||||
"divider": "#e7e7de",
|
||||
"typing": "#6f6f6f"
|
||||
},
|
||||
"markdown": {
|
||||
"heading1": "#8f8f5f",
|
||||
"heading2": "#8f8f5f",
|
||||
"heading3": "#333333",
|
||||
"heading3": "#222222",
|
||||
"heading4": "#333333",
|
||||
"link": "#5f7f8f",
|
||||
"linkHover": "#5f8f8f",
|
||||
@@ -138,30 +167,242 @@
|
||||
"inlineCodeBackground": "#f4f4e9",
|
||||
"blockquote": "#6f6f6f",
|
||||
"blockquoteBorder": "#d0d0c8",
|
||||
"listMarker": "#5f7f8f99"
|
||||
},
|
||||
"chat": {
|
||||
"userMessage": "#333333",
|
||||
"userMessageBackground": "#d7eefa",
|
||||
"assistantMessage": "#333333",
|
||||
"assistantMessageBackground": "#fffff4",
|
||||
"timestamp": "#6f6f6f",
|
||||
"divider": "#d0d0c8"
|
||||
"listMarker": "#5f7f8f99",
|
||||
"bold": "#8f7f5f",
|
||||
"italic": "#8f8f5f",
|
||||
"strikethrough": "#6f6f6f",
|
||||
"hr": "#6f6f6f"
|
||||
},
|
||||
"tools": {
|
||||
"background": "#f4f4e980",
|
||||
"border": "#d0d0c8b3",
|
||||
"headerHover": "#ecece280",
|
||||
"icon": "#6f6f6f",
|
||||
"background": "#f4f4e9",
|
||||
"border": "#e7e7de",
|
||||
"headerHover": "#ecece2",
|
||||
"icon": "#d4d3ca",
|
||||
"title": "#333333",
|
||||
"description": "#6f6f6f",
|
||||
"edit": {
|
||||
"added": "#4c694c",
|
||||
"addedBackground": "#fafefa",
|
||||
"addedBackground": "#f5fcf5",
|
||||
"removed": "#996e6e",
|
||||
"removedBackground": "#fffcfc",
|
||||
"removedBackground": "#fff7f7",
|
||||
"modified": "#5f5d10",
|
||||
"modifiedBackground": "#f5f6ed",
|
||||
"lineNumber": "#939393"
|
||||
},
|
||||
"bash": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"info": "#8f7f5f",
|
||||
"warning": "#8f8f5f",
|
||||
"error": "#8f5f5f"
|
||||
},
|
||||
"lsp": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"info": "#8f7f5f",
|
||||
"warning": "#8f8f5f",
|
||||
"error": "#8f5f5f"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"inputBackground": "#fffff4",
|
||||
"inputForeground": "#333333",
|
||||
"inputBorder": "#e7e7de",
|
||||
"inputBorderHover": "#dcdcd3",
|
||||
"inputBorderFocus": "#588094",
|
||||
"inputPlaceholder": "#939393",
|
||||
"inputDisabled": "#f1f1e5",
|
||||
"inputSelection": "#d7eefa",
|
||||
"label": "#6f6f6f",
|
||||
"helperText": "#939393"
|
||||
},
|
||||
"buttons": {
|
||||
"primary": {
|
||||
"bg": "#5f7f8f",
|
||||
"fg": "#000000",
|
||||
"border": "#a3c8da",
|
||||
"hover": "#4d7689",
|
||||
"active": "#588094",
|
||||
"disabled": "#d8d8cf"
|
||||
},
|
||||
"secondary": {
|
||||
"bg": "#f9f9ef",
|
||||
"fg": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"hover": "#f4f4e9",
|
||||
"active": "#ecece2",
|
||||
"disabled": "#f1f1e5"
|
||||
},
|
||||
"ghost": {
|
||||
"bg": "#00000000",
|
||||
"fg": "#333333",
|
||||
"border": "#00000000",
|
||||
"hover": "#f4f4e9",
|
||||
"active": "#ecece2",
|
||||
"disabled": "#939393"
|
||||
},
|
||||
"destructive": {
|
||||
"bg": "#8f5f5f",
|
||||
"fg": "#ffffff",
|
||||
"border": "#eab0b0",
|
||||
"hover": "#fed4d3",
|
||||
"active": "#955b5c",
|
||||
"disabled": "#f1f1e5"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"overlay": "#fffff43d"
|
||||
},
|
||||
"popover": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"shadow": "0 18px 48px rgba(15, 15, 15, 0.16)"
|
||||
},
|
||||
"commandPalette": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"inputBackground": "#fffff4",
|
||||
"selectedBackground": "#d7eefa",
|
||||
"selectedForeground": "#333333",
|
||||
"muted": "#6f6f6f"
|
||||
},
|
||||
"fileAttachment": {
|
||||
"background": "#f4f4e9",
|
||||
"foreground": "#333333",
|
||||
"border": "#e7e7de",
|
||||
"icon": "#d4d3ca",
|
||||
"removeHover": "#fee2e1"
|
||||
},
|
||||
"sessions": {
|
||||
"background": "#fffff4",
|
||||
"foreground": "#333333",
|
||||
"mutedForeground": "#6f6f6f",
|
||||
"border": "#efefe5",
|
||||
"hover": "#ecece2",
|
||||
"active": "#d7eefa"
|
||||
},
|
||||
"modelSelector": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"selectedBackground": "#d7eefa",
|
||||
"selectedForeground": "#333333"
|
||||
},
|
||||
"permissions": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"allow": "#5f8f5f",
|
||||
"allowBackground": "#d2f5d1",
|
||||
"deny": "#8f5f5f",
|
||||
"denyBackground": "#fee2e1"
|
||||
},
|
||||
"loading": {
|
||||
"spinner": "#5f7f8f",
|
||||
"spinnerTrack": "#ecece2",
|
||||
"skeleton": "#f4f4e9",
|
||||
"shimmer": "#ecece2"
|
||||
},
|
||||
"scrollbar": {
|
||||
"track": "transparent",
|
||||
"thumb": "#33333326",
|
||||
"thumbHover": "#33333340"
|
||||
},
|
||||
"badges": {
|
||||
"default": {
|
||||
"bg": "#f4f4e9",
|
||||
"fg": "#333333",
|
||||
"border": "#e7e7de"
|
||||
},
|
||||
"info": {
|
||||
"bg": "#f5e9d1",
|
||||
"fg": "#8f7f5f",
|
||||
"border": "#d2bf9a"
|
||||
},
|
||||
"success": {
|
||||
"bg": "#d2f5d1",
|
||||
"fg": "#5f8f5f",
|
||||
"border": "#9bd29a"
|
||||
},
|
||||
"warning": {
|
||||
"bg": "#ecedca",
|
||||
"fg": "#8f8f5f",
|
||||
"border": "#c5c58f"
|
||||
},
|
||||
"error": {
|
||||
"bg": "#fee2e1",
|
||||
"fg": "#8f5f5f",
|
||||
"border": "#eab0b0"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"background": "#f9f9ef",
|
||||
"foreground": "#333333",
|
||||
"border": "#d0d0c8",
|
||||
"success": {
|
||||
"background": "#d2f5d1",
|
||||
"foreground": "#5f8f5f",
|
||||
"border": "#9bd29a"
|
||||
},
|
||||
"warning": {
|
||||
"background": "#ecedca",
|
||||
"foreground": "#8f8f5f",
|
||||
"border": "#c5c58f"
|
||||
},
|
||||
"error": {
|
||||
"background": "#fee2e1",
|
||||
"foreground": "#8f5f5f",
|
||||
"border": "#eab0b0"
|
||||
},
|
||||
"info": {
|
||||
"background": "#f5e9d1",
|
||||
"foreground": "#8f7f5f",
|
||||
"border": "#d2bf9a"
|
||||
}
|
||||
},
|
||||
"emptyState": {
|
||||
"icon": "#6f6f6f",
|
||||
"title": "#333333",
|
||||
"description": "#6f6f6f",
|
||||
"border": "#efefe5"
|
||||
},
|
||||
"table": {
|
||||
"border": "#efefe5",
|
||||
"headerBackground": "#f9f9ef",
|
||||
"headerForeground": "#333333",
|
||||
"rowHover": "#ecece2",
|
||||
"rowSelected": "#d7eefa"
|
||||
},
|
||||
"charts": {
|
||||
"series": [
|
||||
"#5f7f8f",
|
||||
"#8f7f5f",
|
||||
"#5f8f5f",
|
||||
"#8f8f5f",
|
||||
"#8f5f5f"
|
||||
]
|
||||
},
|
||||
"a11y": {
|
||||
"focusRing": "#588094",
|
||||
"selection": "#d7eefa",
|
||||
"highContrast": false
|
||||
},
|
||||
"shadows": {
|
||||
"sm": "0 2px 8px rgba(15, 15, 15, 0.08)",
|
||||
"md": "0 12px 32px rgba(15, 15, 15, 0.12)",
|
||||
"lg": "0 24px 56px rgba(15, 15, 15, 0.16)",
|
||||
"focus": "0 0 0 3px #5f7f8f40"
|
||||
},
|
||||
"animation": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
"slow": "350ms ease",
|
||||
"emphasis": "450ms cubic-bezier(0.2, 0.8, 0.2, 1)"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
@@ -178,6 +419,13 @@
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"xs": "0.25rem",
|
||||
"sm": "0.5rem",
|
||||
"md": "0.75rem",
|
||||
"lg": "1rem",
|
||||
"xl": "1.5rem"
|
||||
},
|
||||
"transitions": {
|
||||
"fast": "150ms ease",
|
||||
"normal": "250ms ease",
|
||||
|
||||
@@ -728,16 +728,21 @@ export const useSessionStore = create<SessionStore>()(
|
||||
|
||||
try {
|
||||
const pageSize = 500;
|
||||
const previousArchivedSessions = dedupeSessionsById(get().archivedSessions);
|
||||
const firstPage = await apiClient.experimental.session.list({ limit: pageSize, archived: false });
|
||||
let liveSessions = dedupeSessionsById(Array.isArray(firstPage.data) ? firstPage.data as Session[] : []);
|
||||
let archivedSessions: Session[] = [];
|
||||
let hasLoadedArchivedSessions = false;
|
||||
|
||||
const apply = async () => {
|
||||
if (!isLatestRequest()) {
|
||||
return;
|
||||
}
|
||||
const projectResults = await buildProjectResults(liveSessions);
|
||||
await applyProjectResults(projectResults, dedupeSessionsById(archivedSessions));
|
||||
const archivedForRender = hasLoadedArchivedSessions
|
||||
? dedupeSessionsById(archivedSessions)
|
||||
: previousArchivedSessions;
|
||||
await applyProjectResults(projectResults, archivedForRender);
|
||||
};
|
||||
|
||||
await apply();
|
||||
@@ -770,6 +775,7 @@ export const useSessionStore = create<SessionStore>()(
|
||||
? (response.data as Session[]).filter((session) => Boolean(session.time?.archived))
|
||||
: [];
|
||||
if (page.length > 0) {
|
||||
hasLoadedArchivedSessions = true;
|
||||
archivedSessions = dedupeSessionsById([...archivedSessions, ...page]);
|
||||
await apply();
|
||||
}
|
||||
@@ -779,6 +785,12 @@ export const useSessionStore = create<SessionStore>()(
|
||||
}
|
||||
archivedCursor = next;
|
||||
}
|
||||
|
||||
if (!hasLoadedArchivedSessions && isLatestRequest()) {
|
||||
hasLoadedArchivedSessions = true;
|
||||
archivedSessions = [];
|
||||
await apply();
|
||||
}
|
||||
};
|
||||
|
||||
void backgroundLoad().catch((error) => {
|
||||
|
||||
Reference in New Issue
Block a user