@kya-os/cli
Version:
CLI for MCP-I setup and management
131 lines • 3.31 kB
TypeScript
/**
* Gradient System for Terminal Effects
* Provides comprehensive gradient color mapping capabilities
*/
import { Coordinate, TerminalDimensions } from "./types.js";
/**
* Gradient direction options
*/
export declare enum GradientDirection {
HORIZONTAL = "horizontal",
VERTICAL = "vertical",
DIAGONAL = "diagonal",
RADIAL = "radial",
DIAGONAL_REVERSE = "diagonal_reverse"
}
/**
* Gradient configuration
*/
export interface GradientConfig {
/** Array of color stops */
stops: string[];
/** Number of steps between each stop */
steps?: number;
/** Direction of the gradient */
direction?: GradientDirection;
/** Easing function for color interpolation */
easingFn?: (t: number) => number;
}
/**
* Gradient class for creating color transitions
*/
export declare class Gradient {
private colorStops;
private steps;
private direction;
private easingFn;
private spectrum;
constructor(config: GradientConfig);
/**
* Generate the full color spectrum
*/
private generateSpectrum;
/**
* Interpolate between two colors
*/
private interpolateColors;
/**
* Build coordinate-to-color mapping for a canvas area
*/
buildCoordinateColorMapping(dimensions: TerminalDimensions, bounds?: {
top?: number;
bottom?: number;
left?: number;
right?: number;
}): Map<string, string>;
/**
* Get color at a specific position based on gradient direction
*/
private getColorAtPosition;
/**
* Get color for a specific coordinate
*/
getColorForCoordinate(coord: Coordinate, dimensions: TerminalDimensions): string;
/**
* Get the generated color spectrum
*/
getSpectrum(): string[];
/**
* Apply gradient to a string (character by character)
*/
applyToString(text: string): Array<{
char: string;
color: string;
}>;
}
/**
* Predefined gradients
*/
export declare const GRADIENTS: {
FIRE: {
stops: string[];
steps: number;
};
OCEAN: {
stops: string[];
steps: number;
};
MATRIX: {
stops: string[];
steps: number;
};
SUNSET: {
stops: string[];
steps: number;
};
COOL: {
stops: string[];
steps: number;
};
MONOCHROME: {
stops: string[];
steps: number;
};
RAINBOW: {
stops: string[];
steps: number;
};
};
/**
* Easing functions for gradient interpolation
*/
export declare const EASING: {
linear: (t: number) => number;
inQuad: (t: number) => number;
outQuad: (t: number) => number;
inOutQuad: (t: number) => number;
inCubic: (t: number) => number;
outCubic: (t: number) => number;
inOutCubic: (t: number) => number;
inExpo: (t: number) => number;
outExpo: (t: number) => number;
inOutExpo: (t: number) => number;
inSine: (t: number) => number;
outSine: (t: number) => number;
inOutSine: (t: number) => number;
};
/**
* Helper function to create a gradient from preset
*/
export declare function createGradient(preset: keyof typeof GRADIENTS, direction?: GradientDirection, easingFn?: (t: number) => number): Gradient;
//# sourceMappingURL=gradient.d.ts.map