@run0/jiki-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,26 @@
1
+ import type { AccentColor } from "./types";
2
+ import type { InspectedElement } from "./BrowserWindow";
3
+ export interface ChatMessage {
4
+ id: string;
5
+ role: "user" | "assistant";
6
+ content: string;
7
+ timestamp: number;
8
+ isStreaming?: boolean;
9
+ }
10
+ export interface AIChatPanelProps {
11
+ messages: ChatMessage[];
12
+ onSendMessage: (content: string) => void;
13
+ isStreaming?: boolean;
14
+ accentColor?: AccentColor;
15
+ title?: string;
16
+ modelLabel?: string;
17
+ onLoadMore?: () => void;
18
+ hasMoreMessages?: boolean;
19
+ /** Flat list of file paths for @ mention autocomplete */
20
+ filePaths?: string[];
21
+ /** Inspected element context to attach to next message */
22
+ inspectedElement?: InspectedElement | null;
23
+ /** Clear the inspected element context */
24
+ onClearInspectedElement?: () => void;
25
+ }
26
+ export declare function AIChatPanel({ messages, onSendMessage, isStreaming, accentColor, title, modelLabel, onLoadMore, hasMoreMessages, filePaths, inspectedElement, onClearInspectedElement, }: AIChatPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ export interface InspectedElement {
2
+ tagName: string;
3
+ className: string;
4
+ textContent: string;
5
+ outerHTML: string;
6
+ }
7
+ export interface BrowserWindowProps {
8
+ htmlSrc: string;
9
+ url: string;
10
+ canGoBack: boolean;
11
+ canGoForward: boolean;
12
+ onBack: () => void;
13
+ onForward: () => void;
14
+ onRefresh: () => void;
15
+ onNavigate: (path: string) => void;
16
+ port?: number;
17
+ title?: string;
18
+ previewUrl?: string;
19
+ /** When provided, shows an inspect button. Called with element info on pick. */
20
+ onInspectElement?: (element: InspectedElement) => void;
21
+ }
22
+ export declare function BrowserWindow({ htmlSrc, url, canGoBack, canGoForward, onBack, onForward, onRefresh, onNavigate, port, title, previewUrl, onInspectElement, }: BrowserWindowProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import type { AccentColor } from "./types";
2
+ export interface CodeEditorProps {
3
+ filename: string | null;
4
+ content: string;
5
+ onSave: (path: string, content: string) => void;
6
+ accentColor?: AccentColor;
7
+ }
8
+ export declare function CodeEditor({ filename, content, onSave, accentColor, }: CodeEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { AccentColor, FileEntry } from "./types";
2
+ export interface FileExplorerProps {
3
+ files: FileEntry[];
4
+ selectedFile: string | null;
5
+ onSelect: (path: string) => void;
6
+ accentColor?: AccentColor;
7
+ variant?: "default" | "compact";
8
+ }
9
+ export declare function FileExplorer({ files, selectedFile, onSelect, accentColor, variant, }: FileExplorerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ import type { AccentColor } from "./types";
2
+ export interface TabItem {
3
+ id: string;
4
+ label: string;
5
+ icon?: React.ReactNode;
6
+ }
7
+ export interface MobileTabBarProps {
8
+ tabs: TabItem[];
9
+ activeTab: string;
10
+ onTabChange: (id: string) => void;
11
+ accentColor?: AccentColor;
12
+ }
13
+ export declare function MobileTabBar({ tabs, activeTab, onTabChange, accentColor, }: MobileTabBarProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ChatIcon({ className }: {
15
+ className?: string;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ export declare function PreviewIcon({ className }: {
18
+ className?: string;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export declare function CodeIcon({ className }: {
21
+ className?: string;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ export declare function TerminalIcon({ className }: {
24
+ className?: string;
25
+ }): import("react/jsx-runtime").JSX.Element;
26
+ export declare function FilesIcon({ className }: {
27
+ className?: string;
28
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { AccentColor } from "./types";
2
+ export interface PanelToggleProps {
3
+ collapsed: boolean;
4
+ onClick: () => void;
5
+ label: string;
6
+ side?: "left" | "right";
7
+ accentColor?: AccentColor;
8
+ }
9
+ export declare function PanelToggle({ collapsed, onClick, label, side, accentColor, }: PanelToggleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type { AccentColor, TerminalLine } from "./types";
2
+ export interface TerminalProps {
3
+ lines: TerminalLine[];
4
+ onCommand?: (cmd: string) => Promise<void>;
5
+ onClear: () => void;
6
+ accentColor?: AccentColor;
7
+ variant?: "default" | "compact";
8
+ title?: string;
9
+ lineStyles?: Partial<Record<TerminalLine["type"], string>>;
10
+ }
11
+ export declare function Terminal({ lines, onCommand, onClear, accentColor, variant, title, lineStyles: lineStyleOverrides, }: TerminalProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type { AccentColor } from "./types";
2
+ export interface ChatTheme {
3
+ userBubble: string;
4
+ assistantBubble: string;
5
+ sendButton: string;
6
+ sendButtonDisabled: string;
7
+ streamingDot: string;
8
+ inputCaret: string;
9
+ modelBadge: string;
10
+ }
11
+ export declare function getChatTheme(color: AccentColor): ChatTheme;